我有带导航按钮的滑块,我想在用户悬停按钮(幻灯片)时显示正确的图像。所以我通过索引()
获取悬停按钮的数量var slideNr = $('.slidermenu li').index($('.activeslide'));
我检查了这个值,这很好用。我的问题开始时,我想添加类(显示正确的图像)“activeimg”到img与索引相同的索引。
$('.sliderimage :eq(slideNr)').addClass("activeimg");
我试过:eq和:get,两个都想要工作,有什么想法吗?
编辑:
HTML
<div class="sliderimage">
<img src="img.jpg">
<img src="imga.jpg">
<img src="imgb.jpg">
<img src="imgd.jpg">
<img src="imgc.jpg">
</div>
<div class="slidermenu">
<ul>
<li>button1</li>
<li>button2</li>
<li>button3</li>
<li>button4</li>
<li>button5</li>
</ul>
JS
$(".slidermenu li").hover(
function () {
clearInterval(timer);
$('.slidermenu ul :not(this)').removeClass("activeslide");
$(this).addClass("activeslide");
var slideNr = $('.slidermenu li').index($('.activeslide'));
----problem-------------
$('.sliderimage img :not(:eq(slideNr))').removeClass("activeimg");
$('.sliderimage :eq(slideNr)').addClass("activeimg");
-----------------
},
function () {
timer = setInterval( slidedown, 3000);
}
答案 0 :(得分:3)
我更喜欢使用eq函数
根据jQuery文档:
给定一个表示一组DOM元素的jQuery对象,.eq()方法从该集合中的一个元素构造一个新的jQuery对象。提供的索引标识该元素在该集合中的位置。
$('.sliderimage').eq(slideNr).addClass("activeimg");
答案 1 :(得分:1)
您正在使用&#39; slideNr&#39;作为字符串,而不是变量。
试试这个:
$('.sliderimage :eq('+slideNr+')').addClass("activeimg");