使用index()的jquery函数

时间:2012-02-17 10:02:27

标签: javascript jquery html css class

我正在制作一个旋转木马。

每当幻灯片更改时,我都会获得该幻灯片的索引值。

有三张幻灯片!所以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中找到了元素,该元素具有类item和active。 “这个”是一个容器div。

我只是不知道如何将它变成一个函数,它将“act”类添加到正确的html元素中。

也许我应该将元素名称更改为从零开始(th_0,th_1,th_2)并使用一些正则表达式?

我想知道是否有人知道这方面的任何提示。

由于

4 个答案:

答案 0 :(得分:1)

如果我理解正确,你在幻灯片div中有活动元素的从零开始的索引,并且你想在具有类thumb的那些元素中选择具有相同索引的元素。

您可以使用$(".thumb").slice(index, 1)执行此操作,例如将类act添加到该元素:

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

如果您还需要从之前的活动元素中删除该类,可以使用

方便地执行此操作
$(".thumb").removeClass('act').slice(index, 1).addClass('act');

没有必要用这种方法改变你的id(它甚至不关心你的元素是否有id);它只要求幻灯片div和拇指元素中的元素之间存在1-1对应关系。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

这有帮助吗?

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

答案 3 :(得分:0)

无需更改索引,您可以执行类似

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