2012-02-17 45 views
1

我正在一個旋轉木馬上工作。使用索引jQuery的功能()

無論何時幻燈片發生變化,我都會得到該幻燈片的索引值。

有三張幻燈片!所以0-2是指數值。

現在我有頁面上的這個html,三個點,它表示哪個幻燈片是活動的。所以如果點是白色的,幻燈片是活動的。

這是通過向元素添加「act」類來完成的。

<a id="th_1" class="thumb act"></a> 
<a id="th_2" class="thumb"></a> 
<a id="th_3" class="thumb"> </a> 

上面你可以看到「th_1」處於活動狀態。其他人在CSS中都有灰點。

不管怎麼說,我有索引此JS代碼:

var slide = $(this).find('.slideshow.activated'); 
var index = slide.index(); 

上面,我們發現在這張幻燈片DIV,它具有類項目和活躍的元素。 「this」是一個容器div。

我只是不知道如何將它變成一個函數,它將「act」類添加到正確的html元素,如上所示。

也許我應該改變元素名稱爲零基(th_0,th_1,th_2)並使用一些正則表達式?

我想知道是否有人知道關於此的任何提示。

謝謝

回答

1
$('.thumb').removeClass('act').eq(index).addClass('act'); 
0

這有幫助嗎?

var slide = $(this).find('.slideshow.activated'); 
var index = parseInt(slide.index()) + 1; 
$('.thumb').removeClass('act'); 
$('#th_'+index).addClass('act'); 
1

如果我理解正確的,你必須在幻燈片DIV的有源元件的從零開始的索引,你要選擇那些具有類thumb中相同指標的元素。

你可以用$(".thumb").slice(index, 1)做到這一點,因此,例如對類act添加到元素:

$(".thumb").slice(index, 1).addClass('act'); 

如果您還需要從以前的活動元素刪除類,你可以方便地做到這一點

$(".thumb").removeClass('act').slice(index, 1).addClass('act'); 

有沒有必要改變你的ids這種方法(它甚至不關心,如果你的元素有ID);它只需要幻燈片div和拇指元素中的元素之間存在1-1對應關係。

0

沒有必要改變索引,你可以這樣做

$('a.thumb').removeClass('act'); 
$('#th_' + (index + 1)).addClass('act');