问题标签 [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.

0 投票
1 回答
2389 浏览

javascript - React 无状态组件 clearTimeout 似乎不起作用

我构建的组件有问题。如果两者都输入,一个值 ( inclVal) 必须大于另一个 ( )。exclVal我想用 a 运行处理此问题的函数,setTimeout()以便在道具停止更改后它不会更新一秒钟,以确保它不会更改用户在输入时输入的值。为此,我clearTimeout()在一个elseblock 中放入了 a ,以防止函数在 props 发生变化时执行,从而使其冗余。问题是clearTimeout()由于某种原因它不起作用,并且只要if输入块,更新功能就会运行,即使else在超时间隔内输入块也是如此。

该组件是一个无状态的功能组件,使用 redux 进行状态管理。我已经阅读了很多关于如何使这些东西发挥作用的文章,但似乎没有任何帮助。任何帮助表示赞赏!

这是代码:

这是使用类组件的更新代码componentDidUpdate()

根据 Brandon 的建议,我可以通过在重新声明它之前简单地清除它来清除超时。我打破了一个明确的超时功能

然后在块的顶部和if块中调用它else。效果很好。谢谢您的帮助!

0 投票
2 回答
1077 浏览

javascript - clearTimeout() 不清除定时器

我的计时器在 5 秒后正确启动并递减。我的游戏 div 在计时器达到 0 后隐藏,但计时器没有清除并结束,而是变为负数。请我的代码中的错误,以便停止计时器并清除它

0 投票
1 回答
1229 浏览

javascript - jQuery/JS setTimeout() 在 clearTimeout() 调用后仍然运行

我有一个input type="number"并且正在使用字段中的向上/向下箭头来更改输入的值。我想在最终单击/更改输入后触发一个功能。

最终我的意思是在输入没有改变 1000 毫秒之后(我假设用户现在已经停止点击)。

我已经设置了一个setTimeout()运行函数的 1000 毫秒,但即使我正在调用clearTimeout() .on('change')输入,函数在第一次更改后运行 1000 毫秒,而不是最后一次。

我设置了一个简单的JSFiddle来说明我的意思。与div“你好世界!” 在它不应该出现,直到最后一次点击之后。

如果您快速单击输入上的向上箭头(至少每 999 毫秒一次),则div不应出现。

我在这里查看了很多其他类似的问题,但它们几乎都与计时器变量的范围有关,我认为这不适用于这里。

我究竟做错了什么?

0 投票
3 回答
1039 浏览

javascript - clearTimeout 不清除超时变量

我有一个应用程序需要在 28 分钟后超时。它将显示 jQuery 对话框 2 分钟。如果用户在两分钟内单击“确定”,计时器将刷新到 28 分钟,当倒计时达到 0 分钟时,它应该再次显示 jQuery 对话框。

问题是当我调试时,我看到超时变量没有清除超时。单击“确定”后,计时器重置为 28 分钟,但当倒计时达到 0 分钟时,setTimeout 不会再次显示对话框。

这是我的代码:

这是警报的 HTML div:

0 投票
2 回答
10594 浏览

javascript - Reactjs组件中的componentWillUnmount时如何清除异步函数的超时?

这是组件:

clearTimeout 函数将在组件卸载之前调用。但是计时器处于异步功能中,并且在我得到服务器的响应后再次启动。那么我怎样才能使 clearTimeout 工作呢?

0 投票
2 回答
49 浏览

timer - clearTimeout setInterval 不起作用。但是在其他脚本中呢?

我希望这个动画在整个页面持续时间内循环播放,但由于某种原因,clearTimer 没有完成这项工作。或者我有一个错误的循环,认为清除计时器会在授予该功能时产生一个循环。

我看不出任何问题,并且相同的脚本在另一个文件中运行...

我只想让动画基本上循环播放。但它运行一次,然后死掉,我认为 cleartimeout 不是问题。???

0 投票
1 回答
34 浏览

javascript - clearTimeout() 未按预期运行

我有一个带有子菜单的菜单,当您单击按钮时会滑出。如果它还没有被重新点击,我希望它在 7 秒后重新滑入。我想在重新点击它时重置计时器,以便如果再次点击它,它会从头开始。

0 投票
1 回答
80 浏览

jquery - clearTimeout(var) 没有按预期工作

首先:我搜索了所有关于 clearTimeout 不起作用的问题都是关于变量范围的问题,而不是我的情况。

我需要在 X 秒后自动隐藏标题而不进行交互,所以我创建了两个函数,startMenuTimeout并且clearMenuTimeout(),我的这部分代码如下所示:

当用户向上滚动时,我使标题可见并开始超时,然后,mouseenter我清除超时。

问题是,有时它不会清除超时,如果你上下滚动几次,在 2 秒超时后,菜单会上升。

我在codepen上重现了这个问题,点击这里访问。

0 投票
3 回答
55 浏览

javascript - 清除函数中关闭的“循环”超时 - 如何返回我能够清除它的间隔 id

我的班级中有两个功能。首先触发超时并循环它(像间隔一样工作),然后是 clearTimeout。我的问题是, clearTimeout 不起作用。我该如何解决?

例如,我想在点击时运行这些功能。

0 投票
1 回答
372 浏览

javascript - clearTimeout(timer) 后重启定时器

clearTimeout(timer) 后如何重新启动另一个函数?

我在 7 秒不活动(没有 mousemove 事件)后停止了 refreshTable() 函数。客户端在不活动后移动鼠标时是否可以重新启动刷新?

如果可能的话,我想保留最上面的函数 refreshTable()。

Codepen 演示

目标如下图所示。

在此处输入图像描述