草庐IT

SetInterval

全部标签

javascript - 如何暂停 setInterval() 函数?

如何使用Javascript暂停和恢复setInterval()函数?例如,也许我有一个秒表可以告诉您您浏览网页的秒数。有一个“暂停”和“恢复”按钮。clearInterval()在这里不起作用的原因是因为如果用户在第40秒和第800毫秒点击“暂停”按钮,当他点击“恢复”按钮时,经过的秒数必须在200毫秒后增加1。如果我在计时器变量上使用clearInterval()函数(单击暂停按钮时),然后再次在计时器变量上使用setInterval()函数(当单击恢复按钮时),经过的秒数将增加1仅在1000毫秒后,这会破坏秒表的准确性。那我该怎么做呢? 最佳答案

javascript - 在 setInterval 中使用 React 状态 Hook 时状态不更新

我正在试用新的ReactHooks并有一个带有计数器的时钟组件,该计数器应该每秒增加一次。但是,该值不会增加超过1。functionClock(){const[time,setTime]=React.useState(0);React.useEffect(()=>{consttimer=window.setInterval(()=>{setTime(time+1);},1000);return()=>{window.clearInterval(timer);};},[]);return(Seconds:{time});}ReactDOM.render(,document.querySe

javascript - 使用 setInterval 时,如果我在 Chrome 中切换标签并返回, slider 会疯狂追赶

我的网站上有一个jQueryslider,转到下一张幻灯片的代码在一个名为nextImage的函数中。我使用setInterval在计时器上运行我的函数,它完全符合我的要求:它在计时器上运行我的幻灯片。但是,如果我在Chrome中访问该网站,切换到另一个选项卡并返回,slider会连续运行幻灯片,直到它“catch”。有谁知道解决这个问题的方法。以下是我的代码。setInterval(function(){nextImage();},8000); 最佳答案 HowtodetectwhenatabisfocusedornotinChr

javascript - 如何立即开始 setInterval 循环?

这个问题在这里已经有了答案:ExecutethesetIntervalfunctionwithoutdelaythefirsttime(17个答案)关闭8年前。在一个简单的setInterval中setInterval(function(){//Dosomethingevery9seconds},9000);第一个Action将在9秒后发生(t=9s)。如何强制循环立即执行第一个Action(t=0)?我觉得是setInterval的机制导致了Delay-Action-Delay-Action...循环;而不是Action-Delay-Action-Delay...循环。编辑:我的函数

javascript - 如何退出 setInterval

如果条件正确,我需要退出运行间隔:varrefreshId=setInterval(function(){varproperID=CheckReload();if(properID>0){}},10000); 最佳答案 使用clearInterval:varrefreshId=setInterval(function(){varproperID=CheckReload();if(properID>0){clearInterval(refreshId);}},10000); 关于javas

javascript - 为什么 requestAnimationFrame 比 setInterval 或 setTimeout 更好

为什么我应该使用requestAnimationFrame而不是setTimeout或setInterval?这个self回答的问题是一个文档示例。 最佳答案 高质量动画。这个问题的回答最简单。requestAnimationFrame生成更高质量的动画,完全消除使用setTimeout或setInterval时可能发生的闪烁和剪切,并减少或完全消除跳帧。剪切是在显示扫描的中途将新的Canvas缓冲区呈现给显示缓冲区,导致由不匹配的动画位置引起的切变线。闪烁是在Canvas完全渲染之前将Canvas缓冲区呈现给显示缓冲区时引起的。跳

Javascript setInterval 函数清除自身?

myInterval=setInterval(function(){MyFunction();},50);functionMyFunction(){//CanIcallclearInterval(myInterval);inhere?}间隔不会停止(不会被清除),如果我在上面编写的代码没有问题,那么它将帮助我在别处寻找导致问题的原因。谢谢。编辑:假设它在调用clearInterval之前完成了几个间隔,这消除了对setTimeout的需要。 最佳答案 只要您有保存的interval变量的作用域,您就可以从任何地方取消它。在“子”范围

javascript - 为什么 setInterval 回调只执行一次?

我有自己制作的这个计数器,但我希望它永远运行,这很简单,我在这里做错了什么?functiontimer(){console.log("timer!")}window.setInterval(timer(),1000) 最佳答案 您使用函数调用而不是函数引用作为setInterval的第一个参数。这样做:functiontimer(){console.log("timer!");}window.setInterval(timer,1000);或更短(但当函数变大时可读性也变差):window.setInterval(function(

javascript - 如何使 `setInterval` 表现得更同步,或者如何使用 `setTimeout` 代替?

我正在开发一个需要多个JavaScript元素相互同步的音乐程序。我一直在使用setInterval,最初效果非常好。然而,随着时间的推移,元素逐渐变得不同步,这在音乐节目中是很糟糕的。我在网上看到setTimeout更准确,你可以用某种方式让setTimeout循环。但是,我还没有找到一个通用版本来说明这是如何实现的。基本上我有这样一些功能://drumssetInterval(function{//codeforthedrumsplayinggoeshere},8000);//chordssetInterval(function{//codeforthechordsplayingg

javascript - React 应用程序中的 setInterval

我对React还是相当陌生,但我一直在慢慢磨合,我遇到了一些让我卡住的东西。我正在尝试在React中构建一个“计时器”组件,老实说,我不知道我这样做是否正确(或有效)。在下面的代码中,我将状态设置为返回一个对象{currentCount:10}并且一直在玩弄componentDidMount、componentWillUnmount和render并且我只能让状态从10到9“倒计时”。两部分问题:我错了什么?而且,是否有更有效的方法来使用setTimeout(而不是使用componentDidMount&componentWillUnmount)?提前谢谢你。importReactfro