我和setTimeout有点问题..我不知道这为什么行不通..
$(document).ready(function(){
var counterNum = 0;
function tick()
{
addText(counterNum);
setTimeout('tick()',1000);
counterNum++;
}
function addText(strNum)
{
$("div.counter").empty();
$("div.counter").append(strNum);
}
});您可以在此处查看实时预览LINK
还有,先生,这两者的区别是什么?
setTimeout('tick()',1000);和
setTimeout(tick(),1000);发布于 2010-07-24 16:51:58
尝试:
$(document).ready(function(){
var counterNum = 0;
function tick()
{
addText(counterNum);
setTimeout(tick,1000);
counterNum++;
}
function addText(strNum)
{
$("div.counter").empty();
$("div.counter").append(strNum+"");
}
tick();});
两者之间的区别
setTimeout('tick()',1000)和
setTimeout(tick(), 1000)第二个命令不会等待1000ms来执行,但如果您将其更改为
setTimeout(tick, 1000)它实际上是一样的。从技术上讲,它将改变从何处调用函数的范围。
发布于 2010-07-24 17:14:33
在传入字符串的情况下,JavaScript必须对其求值才能运行代码。对于setTimeOut,您应该始终使用这样的模式:
var self = this;
setTimeout(function(){tick();},1000);这给了你闭包,并允许你绕过这样一个事实,即使用setTimeOut改变了全局对象窗口(对于第一次遇到它的开发人员来说,这是一个可恶的小惊喜)。
尝试与Fredrik推荐的相结合,你应该会有很好的体型。
https://stackoverflow.com/questions/3324424
复制相似问题