Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将ticker设置为使用setTimeout而不是setInterval_Javascript_Jquery - Fatal编程技术网

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资源。