是否从超时内开始间隔是一个问题
Is starting an interval from within a timeout an issue
在我网站上的iframe中,我想运行一个轮询函数。我希望它在页面加载后运行 800 毫秒,然后每 100 毫秒运行一次。
我目前正在这样做,但想知道它是否会导致任何问题:
window.setTimeout(function(){
foo();
window.setInterval(function(){
foo();
}, 100)
}, 800);
setTimeout
所做的只是在指定的延迟后执行其中包含的函数。它不会对您的setInterval
通话产生任何影响。将setInterval
放在setTimeout
内的唯一区别是,它只会在 800 毫秒延迟过后触发。
如果您的foo
函数设计为始终重复自身,则可以改为在该函数中放置第二个setTimeout
:
function foo() {
window.setTimeout(foo, 100);
}
现在您需要做的就是在setTimeout
中调用foo()
一次:
window.setTimeout(foo, 800);
不过,这几乎完全取决于个人喜好。显然,如果您的foo
函数也被设计为在其他地方调用,则此方法并不理想。
演示
var count = 0,
elem = document.querySelector('p');
function foo() {
elem.innerHTML = ++count;
window.setTimeout(foo, 100);
}
window.setTimeout(foo, 800);
<p>Count will be displayed here after the 800ms timeout finishes...</p>
相关文章:
- Moment/Jquery-一个简单时间线的愚蠢问题
- 问题用moment JS制作一个简单的时间表
- 选中复选框的Jquery/Javascript问题使用输入框操作将行从一个表添加到另一个表
- 一个简单的粘性头jQuery脚本的问题
- 一个承诺换多个承诺-并发问题
- 将一个php变量从js传递到php,并返回内容问题
- 在我的网站上创建一个在1-10之间不断变化的数字时遇到了问题.Javascript
- 图像缩略图库中的“下一个”和“上一个”按钮中的“问题”
- 链接问题:下一个字符包含在<a>TinyMce ui TinyMce中的标签
- 有问题的突出显示(悬停)一个系列,突出显示图表
- 火狐中的多个问题,但在 chrome 中工作正常,没有一个问题
- 为什么我不能强制下载受污染的画布,为什么这是一个安全问题
- 为什么这不起作用?我认为这是一个转换问题
- 从JS到PHP;另一个CORS问题(似乎是)
- 是否从超时内开始间隔是一个问题
- 我需要帮助来解决一个小问题
- 试图修复一个倒计时计时器问题,该问题导致计时器运行,然后在使用Javascript时崩溃约10秒
- 我有一个严重的问题与CRM的触发器,正在开发与GAS
- 自定义样式的复选框-我的JavaScript逻辑问题(一个else分支没有被击中)
- 在IE8上有一个问题——一个脚本可以在其他浏览器上完美地工作