SetTimeout延迟未按jquery幻灯片中的预期工作
SetTimeout delay not working as expected in jquery slide
这是我的代码。。。。http://jsfiddle.net/KQ8gW/在这篇文章中,我将setTimeout设置为1分钟,但函数在那之前就被调用了。为什么会这样????
您正在立即调用函数,而不是传递对函数的引用,并且您正在重复设置间隔。因此,传递给setInterval()
的是执行Slide(c,n)
的返回值,而不是稍后调用的函数。因此,它被立即调用,并且只调用一次。
要修复它,请更改此:
setInterval(Slide(c,n),60000);
到此:
setTimeout(function() {Slide(c,n)},60000);
如果这是我的代码,我甚至不会使用计时器——我会使用这样的动画完成功能:
var n = $("#slideShow div img").length;
var c = 0;
Slide(c,n);
function Slide(c,n){
c = ++c % n;
$("#slideShow div").animate(
{left:-500*c},
3000,
function() {Slide(c,n)}
);
}
工作演示:http://jsfiddle.net/jfriend00/nykd3/
您设置了一个间隔,而不是超时。尝试使用setTimeout(function, time)
您正在调用区间内的区间。。。。等
您每分钟都会定期运行该函数,每次运行该函数时都会设置一个新的间隔,循环到infnty及以后。
将区间放在函数之外,并用函数调用它以避免求值,比如:
var n = $("#slideShow div img").length, c = 0;
Slide(c, n);
setInterval(function() { Slide(c, n); }, 60000);
function Slide(c, n) {
c = ++c % n;
$("#slideShow div").animate({
left: -500 * c
}, 7000);
}
相关文章:
- 我做了一个jquery幻灯片,但没有;我工作不好,我该怎么办
- Jquery Div 幻灯片从右到左切换无法正常工作
- 实现幻灯片放映后,导航菜单无法工作
- javascript幻灯片无法正常工作
- 当我放入一个库时,幻灯片就停止工作了
- Jssor渐变幻灯片不是't工作
- 简单的jquery幻灯片切换;不能在任何浏览器中工作
- 我在一页上有两个简单的javascript幻灯片,但第二个停止了第一个工作
- 无法让我的幻灯片工作
- 快速单击会导致幻灯片视图无法正常工作
- 创建具有点击效果的幻灯片.在小提琴中工作,但不在我的网站上
- 幻灯片在本地工作,但在实时站点上不工作
- jquery幻灯片向上/向下工作很有趣
- 带有轮播寻呼机的 Cycle2 幻灯片不工作
- 为什么我的幻灯片无法正常工作
- 无法让 HTML/PHP/JavaScript 幻灯片代码正常工作
- 如果我放置图像幻灯片,CSS 菜单无法正常工作
- JS/CSS 幻灯片无法按预期工作
- 无法让我的幻灯片通过我的数据库工作
- 如何在Javascript中自动化工作幻灯片