Javascript 转盘设置间隔自动播放不工作

Javascript 转盘设置间隔自动播放不工作,javascript,jquery,carousel,setinterval,autoplay,Javascript,Jquery,Carousel,Setinterval,Autoplay,代码:(不起作用,此链接用于代码显示)。正在尝试使用: setInterval(function(){slideCard();} , 5000); 这个旋转木马是一个div-box,向左移动-883px块边距。我希望它每5秒左右自动滚动一次(认为设置间隔是使用的逻辑) 我有其他的js处理点击功能,用于手动导航旋转木马,但我认为它们不应该影响自动播放。但是,它们与上面的js存在同一个文件中 只是需要让自动播放工作,不知道为什么我的js没有这样做 脚本中存在多个问题 变量计数被声明为方法的本地变量

代码:(不起作用,此链接用于代码显示)。正在尝试使用:

setInterval(function(){slideCard();}
, 5000);
这个旋转木马是一个div-box,向左移动-883px块边距。我希望它每5秒左右自动滚动一次(认为设置间隔是使用的逻辑)

我有其他的js处理点击功能,用于手动导航旋转木马,但我认为它们不应该影响自动播放。但是,它们与上面的js存在同一个文件中


只是需要让自动播放工作,不知道为什么我的js没有这样做

脚本中存在多个问题

  • 变量计数被声明为方法的本地变量,因此在每次调用中,它将被初始化为
    0
    ,从而导致执行第一个
    if
  • 由于您使用了不同的
    if
    块,每个
    if
    块将在每次迭代中得到评估,因此只有最后一个块的值会受到影响
  • 因为你没有一个固定的逻辑来计算边距值,我认为你可以使用一个边距值数组,比如

    var slide = $('div.inner > ul');
    
    var count = 0,
        margins = ['-883px', '-1686px', 0];
    
    function slideCard() {
        slide.css('margin-left', margins[count++ % 3]);
    };
    
    setInterval(function () {
        slideCard();
    }, 1000);
    

    未捕获引用错误:$未定义变量
    count
    应在
    slideCard
    方法之外声明。首先,您需要在小提琴中包含jQuery。jQuery包含在我的项目中,这只是snippet@heug如果您想要合适的解决方案,我们还需要css部分谢谢!!这个聪明的逻辑对我很有用。现在只需将手动切换点与当前显示的数字幻灯片匹配即可。