当前位置: 首页 > 知识库问答 >
问题:

设置并清除Interval

祖浩淼
2023-03-14

我有两个函数,递增速度和递减速度。它们都使用clearInterval()然后使用setInterval,但是有些地方不正确。

降低速度将我的速度从1000降到5000,但是如果我使用该功能,速度将增加10-20倍,看起来更像是100-500毫秒。另外,如果我使用increaseSpeed将速度提高到50毫秒,然后使用decreaseSpeed,decreaseSpeed将不会有任何效果。

这是设置、清除功能

var updateRate = 1000;
var id = setInterval(myFunction, updateRate);
function myFunction() {     
valClickedFun(1);
   }

和下降速度

    function decreaseSpeed(){

        clearInterval(id);
        updateRate = 5000;
        setInterval(myFunction, updateRate);

        console.log(updateRate)
};

我已经设置了一个JSFIDLE,如果您多次单击“降低速度”按钮,您就会理解我的意思。

共有3个答案

阎烨
2023-03-14

每次调用setInterval都会返回一个唯一的值。当您最初调用setInterval时,您会将其存储在id中,但在创建新间隔时,您不会在decreaseSpeedincreaseSpeed中重置它。

因此,每个clearInterval(id)调用都会尝试清除原始间隔,即使它已经被清除。任何随后创建的间隔都保持运行状态。不要用更快或更慢的间隔替换现有间隔,increaseSpeeddecreseSpeed添加一个与现有间隔并行运行的新间隔。

变化中

setInterval(myFunction, updateRate);

id = setInterval(myFunction, updateRate);

你应该把它修好。

葛宪
2023-03-14

我看了一下你的小提琴,我想我发现了问题所在。

使用递增速度递减速度功能时,需要将间隔id设置为新间隔。这将确保下次单击增加或减少速度按钮时,前一间隔将被清除。

例如:id=setInterval(myFunction, update速率);

解鸿运
2023-03-14

您忘记在函数中将setInterval指定给id(decreaseSpeed和increaseSpeed)。

id = setInterval(myFunction, updateRate);  

JSFIDLE

 类似资料:
  • 问题内容: Nova在世界上是如何管理的?我实际上是在尝试做完全相同的事情:为用户提供一个按钮,以按清除并选择他们的新默认启动器。 我可以获取默认应用名称并显示它: 这里是 然后我调用系统ResolveActivity, 选择器启动并正常运行,但实际上并未设置或清除任何值。在调试它时,好像我缺少一些额外功能吗?当我调用该方法时,会收到以下日志消息, 当我使用Nova实施时,我看到了所有这些, 我如

  • 我只想在进行ajax调用时清除上一个间隔并设置一个新的间隔。 当前代码为: 我尝试了许多推荐的变化,以便能够从函数外部清除间隔。如; 将"间隔"变量设置为null或false, 窗设定间隔, 在setInterval中写入计数函数, 将count函数作为ajax函数之外的单独函数编写, 但这两种变化都没有消除间隔。 稍后,我还需要清除键入的间隔。

  • 问题内容: 我有一个包含各种输入字段和两个按钮的表单;一个用于提交,另一个用于取消。 我要单击的取消按钮时清空所有输入。到目前为止,我已经设法通过使用每个输入的 ref 属性来做到这一点。 但是,我想清空输入字段,而不必分别清空每个字段。我想要类似的东西(jQuery): 问题答案: 答案取决于您的输入是 受控 还是 不受控制 。如果不确定或需要更多信息,请查看官方文档对 受控组件 和非 受控组件

  • void clear_config([string var]) This clears all assigned config variables. If a variable name is supplied, only that variable is cleared. 清除所有配置变量,如果指定了变量名称,则只清除所指定的配置变量。 Example 13-10. clear_config 例

  • 本文向大家介绍Android系统设置中的清除数据会清除哪些数据?,包括了Android系统设置中的清除数据会清除哪些数据?的使用技巧和注意事项,需要的朋友参考一下 What will be removed If you click Clear Data Button in the System Application 今天中的一个story突然提到了系统设置中的清理数据,后来开始思考究竟系统的应用

  • 如何清除NPM以前的ssl代理设置?嗯,我搜索了很多,但我得到的所有帖子主要是关于如何在公司网络中代理。 第一个命令通过,而第二个命令警告: 是否可以忽略警告,并且我已成功清除代理设置?