Каким либо образом через отнашения на css можно задать чтобы в соответствии с с активной закладкой показывались соответвующие ей блоки.
Структуру не менять. Как делают с обсалютным позиционированием и блоком с текстом внутри самой вкладки видел. Такое не пойдет, если довадить до ума еще больше кода и проблем чем на js будет.
Интересует собствено возможность создания комбинации указателя: показывать блок соответвующий закладке. Я не додумался как указать это отношение.
(Подразумивается что активная закладка так и будет определятся через js классом , а дивы должны сами скрываться\показываться)
Структура ниже и js там же.
<ul class="tab">
<li><a>Ошибка</a></li>
<li><a>Для работы</a></li>
</ul>
<div class="tab1">
<div>Див для первого li</div>
<div>Див для 2го li</div>
</div>
function ClickInfo(event){
var Element = event.target || event.srcElement;
if(Element.nodeName == 'A' && Element.parentNode.nodeName == 'LI' && Element.parentNode.parentNode.className == 'tab'){
var Li_active = Element.parentNode;
var Ul = Li_active.parentNode;
var DivTab = Ul.nextElementSibling;
for(var i = 0; i < Ul.childElementCount; i++){
Ul.children[i].className = '';
DivTab.children[i].style.display = 'none';
if(Ul.children[i] == Li_active){
Li_active.className = 'active';
DivTab.children[i].style.display = 'block';
}
}
}
}
Спустя 2 часа, 1 минута, 51 секунда (8.10.2011 - 03:01) Игорь_Vasinsky написал(а):
ну во-первых у JQuery есть готовый плагин TABS
ну если самоделки - то на клик вешать ещё событие, которое будет делать display:visible у одного и display:none у других
можешь отдельной функцией организовать и вешать её к своей функции.
ну если самоделки - то на клик вешать ещё событие, которое будет делать display:visible у одного и display:none у других
можешь отдельной функцией организовать и вешать её к своей функции.
Спустя 5 часов, 30 минут, 43 секунды (8.10.2011 - 08:32) Xes написал(а):
ClickInfo(event){
- это все делает и закладке добавляет class="active" и соответствующий порядковый див показывает, остальные убирает.
Я хотел только закладки через js менять. А в ксс написать некий отанасительный класс чтоли, наподобии как это в js сделано.
Если li active то в блоке div.tab который следует полсе ul.tab сделать соответсвующий порядковый div видемым. Но из тго что прочитал как в css создаются отношения я пока не нашел возможно ли там так указать стили.
- это все делает и закладке добавляет class="active" и соответствующий порядковый див показывает, остальные убирает.
Я хотел только закладки через js менять. А в ксс написать некий отанасительный класс чтоли, наподобии как это в js сделано.
Если li active то в блоке div.tab который следует полсе ul.tab сделать соответсвующий порядковый div видемым. Но из тго что прочитал как в css создаются отношения я пока не нашел возможно ли там так указать стили.