我正在制作一个旋转木马。
每当幻灯片更改时,我都会获得该幻灯片的索引值。
有三张幻灯片!所以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)并使用一些正则表达式?
我想知道是否有人知道这方面的任何提示。
由于
答案 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');