Javascript 将ticker设置为使用setTimeout而不是setInterval
我了解到Javascript 将ticker设置为使用setTimeout而不是setInterval,javascript,jquery,Javascript,Jquery,我了解到setTimeout比setInterval占用的cpu资源更少。这是我切换到setTimeout的主要原因 这是我的股票代码,它工作得非常好,但我不知道如何使用setTimeout而不是setInterval function tick() { $('#ticker li:first').slideUp(1000, function() { $(this).appendTo($('#ticker')).slideDown(1000); }); } setInterval
setTimeout
比setInterval
占用的cpu资源更少。这是我切换到setTimeout
的主要原因
这是我的股票代码,它工作得非常好,但我不知道如何使用setTimeout
而不是setInterval
function tick() {
$('#ticker li:first').slideUp(1000, function() {
$(this).appendTo($('#ticker')).slideDown(1000);
});
}
setInterval(function() {
tick()
}, 9000);
var ticksunt=0;
函数tick(){
$(#ticker li:first')。slideUp(1000,function(){
$(this).appendTo($('#ticker')).slideDown(1000);
});
}
var t=setInterval(函数(){
勾选()
如果(勾选>10){
净间隔(t);
}
}, 1000);代码>
var ticksunt=0;
函数tick(){
$(#ticker li:first')。slideUp(1000,function(){
$(this).appendTo($('#ticker')).slideDown(1000);
});
}
var t=setInterval(函数(){
勾选()
如果(勾选>10){
净间隔(t);
}
}, 1000);代码>当您想要使用setTimeout()
-函数时,您必须递归调用您的函数(使用初始调用onload或其他方式):
函数tick()
{
$('ticker')。追加('tick');
设置超时(勾号,1000);
}
勾选()代码>
当您想要使用setTimeout()
-函数时,您必须递归调用您的函数(使用初始调用onload或其他方式):
函数tick()
{
$('ticker')。追加('tick');
设置超时(勾号,1000);
}
勾选()代码>
要将设置间隔
替换为设置超时
,请更改此项:
setInterval(function() {
tick()
}, 9000);
致:
但是,以这种重复方式使用的setTimeout
不会占用更少的资源。相反,由于您必须重复调用setTimeout
,因此与原始代码相比,会稍微增加开销。要将setInterval
替换为setTimeout
,请更改此项:
setInterval(function() {
tick()
}, 9000);
致:
但是,以这种重复方式使用的setTimeout
不会占用更少的资源。相反,由于您必须重复调用setTimeout
,因此与原始代码相比,会有轻微的额外开销。您可以通过在勾选
函数中调用setTimeout
递归传递它,将setInterval
替换为setTimeout
:
function tick() {
$('#ticker li:first').slideUp(1000, function() {
$(this).appendTo($('#ticker')).slideDown(1000);
});
setTimeout(tick, 9000);
}
tick();
通过在tick
函数内调用setTimeout
递归传递它,可以将setInterval
替换为setTimeout
:
function tick() {
$('#ticker li:first').slideUp(1000, function() {
$(this).appendTo($('#ticker')).slideDown(1000);
});
setTimeout(tick, 9000);
}
tick();
如果这是您真正想要做的,只需将setInterval
替换为setTimeout
。“我了解到setTimeout占用的cpu资源较少”:您可以包括参考吗?如果这是您真正想要做的,只需将setInterval
替换为setTimeout
。“我了解到setTimeout占用的cpu资源较少“:你能包括参考资料吗?你可以像上面那样处理它。我想这会更容易,我希望我能在我的代码中找到它,谢谢你,你可以像上面那样处理它。我想它会更容易,我希望我能在我的代码中找到它,谢谢你我试着按照你的代码,但在我的代码中不起作用,我想当我试着模仿你的产品线时,我做错了什么,谢谢你,不管怎样,我试着按照你的代码,但我的代码不起作用,我想当我试着模仿你的产品线时,我做错了什么,谢谢你,不管怎样,太棒了,非常感谢你,这就是我想知道的,因为我的主要观点是cpu资源。太棒了,非常感谢你,这就是我不想知道的,因为我的主要观点是cpu资源。