轮播设置间隔自动播放不起作用
carousel setInterval autoplay not working
代码:http://jsfiddle.net/n2m4absf/(不会起作用,这是为了代码显示目的而链接的)。尝试使用:
setInterval(function(){slideCard();}
, 5000);
这个旋转木马是一个 div 框,在 -883 像素的左边距块中移动。我希望它每 5 秒左右自动滚动一次(考虑设置间隔将是使用的逻辑)。
我有其他 js 可以处理点击功能以手动导航轮播,但我认为它们不应该影响自动播放。但是,它们确实与上述 js 位于同一文件中。
只需要让自动播放正常工作,但不确定为什么我的 js 没有这样做。
脚本中存在多个问题。
- 变量 count 被声明为方法的局部变量,因此在每次调用中它都会启动到
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);
代码:http://jsfiddle.net/n2m4absf/(不会起作用,这是为了代码显示目的而链接的)。尝试使用:
setInterval(function(){slideCard();}
, 5000);
这个旋转木马是一个 div 框,在 -883 像素的左边距块中移动。我希望它每 5 秒左右自动滚动一次(考虑设置间隔将是使用的逻辑)。
我有其他 js 可以处理点击功能以手动导航轮播,但我认为它们不应该影响自动播放。但是,它们确实与上述 js 位于同一文件中。
只需要让自动播放正常工作,但不确定为什么我的 js 没有这样做。
脚本中存在多个问题。
- 变量 count 被声明为方法的局部变量,因此在每次调用中它都会启动到
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);