Помогите с jquery пожалуйста

V
На сайте с 19.10.2008
Offline
150
444

Здравствуйте!есть табы, подскажите пожалуйста, как сделать так чтобы можно было вставлять несколько на странице и они работали каждые отдельно... Сейчас если вставляю, то при наведении на навигацию у первых табов, срабатывают все остальные...


<div class="tabs">
<div class="nav">
<ul>
<li>Таб1</li>
<li>Таб2</li>
</ul>
</div>

<div class="cont">
<div class="kont">1</div>
<div class="kont">2</div>
</div>
</div>


$(document).ready(function(){
$('.tabs .kont').hide();
$('.tabs .kont:eq(0)').show();

$('.tabs>.nav li').hover(function(){
var ind = $(this).index();
$('.tabs .cont').find('.kont:eq('+ind+')').show().siblings('.kont:visible').hide();
})

});

Спасибо!

Geers
На сайте с 12.04.2011
Offline
487
#1
vechnyi:
Сейчас если вставляю, то при наведении на навигацию у первых табов, срабатывают все остальные...

Так у вас практически все табы вставлены в один div.

fsou1
На сайте с 17.07.2012
Offline
45
#2

Для того, чтобы одинаковые табы работали раздельно, им нужен признак, по которому отличать одну коллекцию от другой.

В вашем коде селектор ".tabs .kont" означает: для всех элементов, класс которых содержит "tabs" (<div class="tabs">), выбрать дочерние элементы, класс которых содержит "kont" (<div class="kont">1</div>).

Таким образом, если Вы добавите несколько одинаковых блоков кода, они все и будут работать по этому принципу, поэтому, самым простым решением будет у второй коллекции табов поменять наименование классов (достаточно переименовать class="tabs" в "tabs2") и к существующим селекторам ('.tabs .kont') добавить правило выборки для вторых табов ('.tabs .kont, .tabs2 .kont') для каждого случая, дабы копированию кода противопоставить дополнение в правило выборки.

V
На сайте с 19.10.2008
Offline
150
#3

fsou1, дело в том что мне как раз нельзя добавлять другие именна классов..

нужно именно чтобы были одинаковые...

fsou1
На сайте с 17.07.2012
Offline
45
#4

В таком случае оберните их каждый в свой див

<div class="mytabs1">
<div class="tabs">
<div class="nav">
...
</div>
<div class="mytabs2">
* <div class="tabs">
* * <div class="nav">
* * ...
</div>

и меняйте селекторы '.mytabs1 .tabs .kont, .mytabs2 .tabs .kont'

V
На сайте с 19.10.2008
Offline
150
#5

нельзя, их предполагается использовать произвольное количество раз на странице

fsou1
На сайте с 17.07.2012
Offline
45
#6

Код Вам менять хоть можно?

Селекторов хоть отбавляй,- атрибуты дописывайте, name, id.

V
На сайте с 19.10.2008
Offline
150
#7

нельзя, нужно чтобы был один и тот же код без добавления id и т.д

fsou1
На сайте с 17.07.2012
Offline
45
#8

Колдуйте с $(this)

V
На сайте с 19.10.2008
Offline
150
#9

ок, спасибо

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий