问题标签 [cleartimeout]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - React 无状态组件 clearTimeout 似乎不起作用
我构建的组件有问题。如果两者都输入,一个值 ( inclVal
) 必须大于另一个 ( )。exclVal
我想用 a 运行处理此问题的函数,setTimeout()
以便在道具停止更改后它不会更新一秒钟,以确保它不会更改用户在输入时输入的值。为此,我clearTimeout()
在一个else
block 中放入了 a ,以防止函数在 props 发生变化时执行,从而使其冗余。问题是clearTimeout()
由于某种原因它不起作用,并且只要if
输入块,更新功能就会运行,即使else
在超时间隔内输入块也是如此。
该组件是一个无状态的功能组件,使用 redux 进行状态管理。我已经阅读了很多关于如何使这些东西发挥作用的文章,但似乎没有任何帮助。任何帮助表示赞赏!
这是代码:
这是使用类组件的更新代码componentDidUpdate()
:
根据 Brandon 的建议,我可以通过在重新声明它之前简单地清除它来清除超时。我打破了一个明确的超时功能
然后在块的顶部和if
块中调用它else
。效果很好。谢谢您的帮助!
javascript - clearTimeout() 不清除定时器
我的计时器在 5 秒后正确启动并递减。我的游戏 div 在计时器达到 0 后隐藏,但计时器没有清除并结束,而是变为负数。请我的代码中的错误,以便停止计时器并清除它
javascript - jQuery/JS setTimeout() 在 clearTimeout() 调用后仍然运行
我有一个input type="number"
并且正在使用字段中的向上/向下箭头来更改输入的值。我想在最终单击/更改输入后触发一个功能。
最终我的意思是在输入没有改变 1000 毫秒之后(我假设用户现在已经停止点击)。
我已经设置了一个setTimeout()
运行函数的 1000 毫秒,但即使我正在调用clearTimeout()
.on('change')
输入,函数在第一次更改后运行 1000 毫秒,而不是最后一次。
我设置了一个简单的JSFiddle来说明我的意思。与div
“你好世界!” 在它不应该出现,直到最后一次点击之后。
如果您快速单击输入上的向上箭头(至少每 999 毫秒一次),则div
不应出现。
我在这里查看了很多其他类似的问题,但它们几乎都与计时器变量的范围有关,我认为这不适用于这里。
我究竟做错了什么?
javascript - clearTimeout 不清除超时变量
我有一个应用程序需要在 28 分钟后超时。它将显示 jQuery 对话框 2 分钟。如果用户在两分钟内单击“确定”,计时器将刷新到 28 分钟,当倒计时达到 0 分钟时,它应该再次显示 jQuery 对话框。
问题是当我调试时,我看到超时变量没有清除超时。单击“确定”后,计时器重置为 28 分钟,但当倒计时达到 0 分钟时,setTimeout 不会再次显示对话框。
这是我的代码:
这是警报的 HTML div:
javascript - Reactjs组件中的componentWillUnmount时如何清除异步函数的超时?
这是组件:
clearTimeout 函数将在组件卸载之前调用。但是计时器处于异步功能中,并且在我得到服务器的响应后再次启动。那么我怎样才能使 clearTimeout 工作呢?
timer - clearTimeout setInterval 不起作用。但是在其他脚本中呢?
我希望这个动画在整个页面持续时间内循环播放,但由于某种原因,clearTimer 没有完成这项工作。或者我有一个错误的循环,认为清除计时器会在授予该功能时产生一个循环。
我看不出任何问题,并且相同的脚本在另一个文件中运行...
我只想让动画基本上循环播放。但它运行一次,然后死掉,我认为 cleartimeout 不是问题。???
javascript - clearTimeout() 未按预期运行
我有一个带有子菜单的菜单,当您单击按钮时会滑出。如果它还没有被重新点击,我希望它在 7 秒后重新滑入。我想在重新点击它时重置计时器,以便如果再次点击它,它会从头开始。
jquery - clearTimeout(var) 没有按预期工作
首先:我搜索了所有关于 clearTimeout 不起作用的问题都是关于变量范围的问题,而不是我的情况。
我需要在 X 秒后自动隐藏标题而不进行交互,所以我创建了两个函数,startMenuTimeout
并且clearMenuTimeout()
,我的这部分代码如下所示:
当用户向上滚动时,我使标题可见并开始超时,然后,mouseenter
我清除超时。
问题是,有时它不会清除超时,如果你上下滚动几次,在 2 秒超时后,菜单会上升。
我在codepen上重现了这个问题,点击这里访问。
javascript - 清除函数中关闭的“循环”超时 - 如何返回我能够清除它的间隔 id
我的班级中有两个功能。首先触发超时并循环它(像间隔一样工作),然后是 clearTimeout。我的问题是, clearTimeout 不起作用。我该如何解决?
例如,我想在点击时运行这些功能。
javascript - clearTimeout(timer) 后重启定时器
clearTimeout(timer) 后如何重新启动另一个函数?
我在 7 秒不活动(没有 mousemove 事件)后停止了 refreshTable() 函数。客户端在不活动后移动鼠标时是否可以重新启动刷新?
如果可能的话,我想保留最上面的函数 refreshTable()。
目标如下图所示。