码迷,mamicode.com
首页 > 其他好文 > 详细

SetTimeout()多次运行函数后越来越快的问题

时间:2018-08-02 16:11:11      阅读:592      评论:0      收藏:0      [点我收藏+]

标签:逻辑   取消   多次   href   csdn   time   运行   点击   targe   

问题原因很简单,但是由于代码逻辑问题,一直没有考虑到;

网上有个帖子说的很明白:原帖入口

假如你在0时刻点击了一下按钮,那么500ms时数字会跳一下,1000ms会再跳一下,依次类推,1500,2000,2500.....的时候都会跳一下,时间间隔始终是500ms,但是,假如你在300ms的时候又点击了一下按钮,那么800ms的时候数字就会跳一下,1300,1800,2300.....的时侯都会跳一下,那么现在看0到2000ms之间,300,500,800,1000,1300,1500,1800,2000时刻时数字都会跳一下,数字变化的时间间隔自然会变小,同理,你点击的次数越多,时间间隔就会越小。

你每点击一次都会创建一个新的定时器,但是之前的定时器不会自己取消。

你要在创建新的定时器前用clearTimeout()取消之前的定时器。

 

解决:创建新的定时器前用clearTimeout()取消之前的定时器。

SetTimeout()多次运行函数后越来越快的问题

标签:逻辑   取消   多次   href   csdn   time   运行   点击   targe   

原文地址:https://www.cnblogs.com/Dreamice/p/9407252.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!