我正在尝试使用流行的slideTo插件开发一个jquery滑块。我已经掀起了一个jfiddle,所以你可以看到我制作的滑块的例子,以及代码: http://jsfiddle.net/Mh7Mh/
结果略有错误。当你到达最后一张幻灯片时它似乎没有回来,它应该。看看我的jquery - 我创建了一个if语句,它重置了告诉scrollTo在哪里滚动To的变量。代码非常自我解释。
任何帮助都可以解决这个问题。谢谢!
答案 0 :(得分:1)
你有一个错误。有四个幻灯片,索引0,1,2,3。
所以使用这一行:
if (jesse == numSlides-1) {
和这些行:
if (jesse == 0) {
jesse = numSlides -1;
即使它以这种方式工作,但看起来并不合适。你会明白我的意思。
答案 1 :(得分:1)
这些函数的逻辑中存在多个错误。这是JS的改进版本:
// you were defining these vars in every function, not as global vars
var jesse = 0;
var lastSlide = 3;
// your numSlide var was off by one, renamed it to lastSlide
// you were adding these events multiple times for each li
$("#controls a.next").click(function() {
(jesse==lastSlide)?(jesse=0):(jesse++);
$("#contentSlider").stop().scrollTo('li:eq(' + jesse + ')', 500);
return false;
});
$("#controls a.prev").click(function() {
(jesse==0)?(jesse=lastSlide):(jesse--);
$("#contentSlider").stop().scrollTo('li:eq(' + jesse + ')', 500);
return false;
});
?:
的用法称为三元操作。它类似于if/else statement。
它的一般用法是:
foo=(booleanExpression)?bar:baz;
// it is equal to
if(booleanExpression){
foo=bar;
}else{
foo=baz;
}