大家好,我目前正在制作一个滑块,除了最后一件事之外,我几乎已经完成所有操作。
我的要点是确定您当前正在查看的图像,并且还可以用于此处所示的导航(2个滑块,因为这是我遇到问题的地方):
http://puu.sh/hAYp5/15477cd325.png
对于实际的点,我已经能够使用此代码:
$(this.dots).click(function() {
var selected = $(this).data("img");
sliderEle.goTo(selected);
$(dots).removeClass("active");
$(this).addClass("active")
})
上一个按钮和下一个按钮但是我有一个问题,这是我目前得到的,它影响两个滑块,因为它不是我想要的单个滑块特定的:
goTo: function(index) {
if (index < 0)
return;
// move <ul> left
this.ul.style.left = '-' + (100 * index) + '%';
this.currentIndex = index
},
goToPrev: function() {
this.goTo(this.currentIndex - 1)
$(this.dots).removeClass("active");
$('.slider-dot[data-img="'+this.currentIndex+'"]').addClass("active");
},
goToNext: function() {
if(this.currentIndex + 1 > this.li.length - 1) {
this.goTo(0)
}else {
this.goTo(this.currentIndex + 1)
}
$(this.dots).removeClass("active");
$('.slider-dot[data-img="'+this.currentIndex+'"]').addClass("active")
}
如何更改此行:
$('.slider-dot[data-img="'+this.currentIndex+'"]').addClass("active")
使用这样的东西:
$(this.dots)
所以它针对的是单个滑块,而不是所有滑块。
完整的js来源:http://pastebin.com/NaDw0jib
答案 0 :(得分:0)
使用jquery中的.filter解决
var currentDot = $(this.dots).filter('[data-img="'+this.currentIndex+'"]');
$(currentDot).addClass("active");
答案 1 :(得分:0)
为原型添加一个功能
this.getNav(3).addClass('active');
十,像这样使用它:
st = set(b)
print([b.index(x) for x in a if x in st])
顺便说一句,我可能要么扩展初始化方法以实际创建DOM表示,要么失败,至少使用类而不是硬编码到children [i]引用。它会在以后让你头疼。