//简单移动动画封装
function animate(obj, target) {obj.move = setInterval(function () {if (obj.offsetLeft >= target) {//停止动画clearInterval(obj.move); //会继续执行完move,然后再停止}obj.style.left = obj.offsetLeft + 5 + 'px'; //使用它(style.left)一定要记得给元素加定位},25)}
var div = document.querySelector('div');
animate(div, 500);

输出结果:

div本应该在 left:500px; 停止,但是实际却在505px停止。
在使用clearInterval()过程中,仍然会执行完剩余代码,再停止定时器。
可以采用return的方法解决此问题。

//简单移动动画封装
function animate(obj, target) {obj.move = setInterval(function () {if (obj.offsetLeft >= target) {//停止动画//clearInterval(obj.move); //会继续执行完move,然后再停止return;}obj.style.left = obj.offsetLeft + 5 + 'px'; //使用它(style.left)一定要记得给元素加定位},25)}
var div = document.querySelector('div');
animate(div, 500);

输出结果:

clearInterval()仍然执行剩余代码的解决方案相关推荐

  1. 热门开源CI/CD解决方案 GoCD 中曝极严重漏洞,可被用于接管服务器并执行任意代码...

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 专栏·供应链安全 数字化时代,软件无处不在.软件如同社会中的"虚拟人",已经成为支撑社会正常运转的最基本元素之一,软件的安全 ...

  2. 涨见识了,在终端执行 Python 代码的 6 种方式

    作者 | BRETT CANNON 译者 | 豌豆花下猫@Python猫 为了我们推出的 VS Code 的 Python 插件[1],我写了一个简单的脚本来生成变更日志[2](类似于Towncrie ...

  3. SAP QM中阶执行事务代码QDB1,报错- Inspection severity 001 AQL 0.650 not in sampling schema A01-

    SAP QM中阶执行事务代码QDB1,报错- Inspection severity 001 AQL 0.650 not in sampling schema A01- 对于sampling proc ...

  4. SAP QM执行事务代码QE23为检验批录入结果,报错-No selected set exists for the inspection point 200 or plant NMDC-

    SAP QM执行事务代码QE23为检验批录入结果,报错-No selected set exists for the inspection point 200 or plant NMDC- 检验批#8 ...

  5. SAP MM 执行事务代码MRRL报错-No message was found for partner 100065 company code 0001-

    SAP MM 执行事务代码MRRL报错-No message was found for partner 100065 company code 0001- 1, 执行事务代码MRRL 触发invoi ...

  6. QuickTime 0day ***代码发布,可能允许执行任意代码

    QuickTime 0day ***代码发布,可能允许执行任意代码 仅仅在 Apple 升级播放器堵上九个严重安全漏洞之后的一个星期,一个暂无补丁的 Apple QuickTime 缺陷就于星期二被发 ...

  7. php跳过当前后续代码,PHP用continue跳过本次循环中剩余代码的注意点

    continue跳转语句用来跳过本次循环中指定条件的语句,并且继续执行其他的循环语句.下面这篇文章主要给大家介绍了关于在PHP中用continue跳过本次循环中剩余代码的一个注意点,文中的内容比较基础 ...

  8. 在终端执行 Python 代码的 6 种方法,原来还能这样!

    来自 | Python猫  编译 | 豌豆花下猫 原作 | BRETT CANNON 为了我们推出的 VS Code 的 Python 插件[1],我写了一个简单的脚本来生成变更日志[2](类似于To ...

  9. 解决Button设置disabled后无法执行后台代码问题

    一.开始调式下面的程序,发现Button在js中设置disabled后无法执行后台代码(btnsave_Click)问题 <asp:Button ID="btnsave" r ...

最新文章

  1. java 子进程输出流_具有输入/输出流的Java进程
  2. std::cout char + int
  3. 【cocos2d-x从c++到js】20:脚本语言风格的JS代码
  4. Csharp: Winform 顏色選擇器 Color convert RGB and RGB convert Color
  5. php运城,运城php培训
  6. 原生js实现ajax
  7. python音频识别_音频识别和比较
  8. Bug Algorithms
  9. 【数据库设计及SQL代码实现】英皇电影院电影管理系统
  10. 基于arduino的ESP32 学习笔记(一) 基于ESP32的智能花盆
  11. 荣耀magic book忘记pin,只能用pin登录,还着急用电脑里的文件
  12. 木瓜移动每日资讯0518:滴滴在哈推出打车服务
  13. linux pps驱动实现gps授时
  14. 【南梦宫】预设性背景跟随对象算法
  15. OO第四单元小结暨2019春季学期OO课程总结
  16. c语言编程绘制动态波形,绘制wav波形图
  17. C/C++ 之 printf 输出函数的使用
  18. 建筑建材行业渠道商管理系统助力企业掌控市场信号,提速业务决策
  19. 指数移动平均值(exponential moving average)常用于平滑曲线
  20. 集团容器云自定义巡检

热门文章

  1. 深入理解MySQL——重做日志
  2. 钩子原理及实例:实现键盘钩子截获密码
  3. react 百度地图定位
  4. JavaScript基础实战知识点记录及个人理解2
  5. linux启动停止脚本实现
  6. 如何安装windows r2 2012 虚拟机
  7. beego利用casbin进行权限管理——第一节 起步、测试
  8. sql函数平均值 总数 最小值 最大值 总和 标准差
  9. java文件上传到腾讯云COS
  10. 计算机视觉—人脸识别(yale人脸数据库+tensorflow)(9)