Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ScrollToBuggy的Jquery滑块_Jquery_Scroll - Fatal编程技术网

使用ScrollToBuggy的Jquery滑块

使用ScrollToBuggy的Jquery滑块,jquery,scroll,Jquery,Scroll,我正在尝试使用流行的slideTo插件开发jquery滑块。我制作了一个jfiddle,您可以看到我制作的滑块示例以及代码: 结果是有点问题。当你到达最后一张幻灯片时,它似乎不会循环,而且应该如此。看看我的jquery——我创建了一个if语句,它重置了告诉scrollTo滚动到哪里的变量。这段代码很容易解释 任何帮助都将是巨大的帮助。谢谢 您有一个off by one错误。共有四张幻灯片,索引为0、1、2、3 所以用这句话: if (jesse == numSlides-1) { 以下几行:

我正在尝试使用流行的slideTo插件开发jquery滑块。我制作了一个jfiddle,您可以看到我制作的滑块示例以及代码:

结果是有点问题。当你到达最后一张幻灯片时,它似乎不会循环,而且应该如此。看看我的jquery——我创建了一个if语句,它重置了告诉scrollTo滚动到哪里的变量。这段代码很容易解释


任何帮助都将是巨大的帮助。谢谢

您有一个off by one错误。共有四张幻灯片,索引为0、1、2、3

所以用这句话:

if (jesse == numSlides-1) {
以下几行:

      if (jesse == 0) {
        jesse = numSlides -1;

尽管它是这样工作的,但它看起来并不完全正确。你会明白我的意思。

这些函数的逻辑中有多个bug。以下是您的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;
});
?:
的用法称为三元运算。它类似于一个

它的一般用法是:

foo=(booleanExpression)?bar:baz;
// it is equal to
if(booleanExpression){
    foo=bar;
}else{
    foo=baz;
}

是的,就是这样。这很有道理。谢谢但是你的权利,它仍然是错误的,很可能是由于@Khez-answer…我为每个liI添加了多次事件,我是jQuery的一个新手,所以你能在这行上发表评论,这样我就可以理解发生了什么:(jesse==lastSlide)?(jesse=0):(jesse++);您也可以使用if/else语句。我只是喜欢用简单的语句。