js学使用setTimeout实现轮循动画


Posted in Javascript onJuly 17, 2017

本文实例为大家分享了setTimeout实现轮循动画的具体代码,供大家参考,具体内容如下

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <div id='box'></div>
  <script>
    var oBox = document.getElementById("box");
    var maxLeft = utils.win('clientWidth')-oBox.offsetWidth;
    var step = 5;
    var timer = null;
    //使用递归思想完成setTimeout的轮循动画:每一次在执行动画之前把上一次设置没用的定时器清除掉,节约我们的内存空间
    function move(){
      window.clearTimeout(timer);
      var curLeft = utils.css(oBox,"left");
      if(curLeft+step >= maxLeft){//边界判断
        utils.css(oBox,"left",maxLeft);
        return;
      }
      curLeft+=step;
      utils.css(oBox,"left",curLeft);
      timer = window.setTimeout(move,10)
    }
    move();

  </script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript delete 引用类型对象
Nov 01 Javascript
jquery马赛克拼接翻转效果代码分享
Aug 24 Javascript
jquery实现的横向二级导航效果代码
Aug 26 Javascript
JS实现不规则TAB选项卡效果代码
Sep 16 Javascript
简单对比分析JavaScript中的apply,call与this的使用
Dec 04 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
Apr 05 Javascript
jquery实现文字单行横移或翻转(上下、左右跳转)
Jan 08 Javascript
bootstrap配合Masonry插件实现瀑布式布局
Jan 18 Javascript
webpack打包单页面如何引用的js
Jun 07 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
Aug 17 Javascript
基于dataset的使用和图片延时加载的实现方法
Dec 11 Javascript
Angular实现的敏感文字自动过滤与提示功能示例
Dec 29 Javascript
详解Vue2.x-directive的学习笔记
Jul 17 #Javascript
javascript  数组排序与对象排序的实例
Jul 17 #Javascript
jQuery常用选择器详解
Jul 17 #jQuery
js轮播图的插件化封装详解
Jul 17 #Javascript
Vue.js中extend选项和delimiters选项的比较
Jul 17 #Javascript
Vue.js中组件中的slot实例详解
Jul 17 #Javascript
Vue.js上下滚动加载组件的实例代码
Jul 17 #Javascript
You might like
php 显示指定路径下的图片
2009/10/29 PHP
三个类概括PHP的五种设计模式
2012/09/05 PHP
Composer设置忽略版本匹配的方法
2016/04/27 PHP
php使用 readfile() 函数设置文件大小大小的方法
2017/08/11 PHP
PHP进阶学习之类的自动加载机制原理分析
2019/06/18 PHP
js 数据类型转换总结笔记
2011/01/17 Javascript
最短的javascript:地址栏载入脚本代码
2011/10/13 Javascript
jquery解析xml字符串简单示例
2014/04/11 Javascript
jQuery弹出框代码封装DialogHelper
2015/01/30 Javascript
js操作css属性实现div层展开关闭效果的方法
2015/05/11 Javascript
JavaScript实现选择框按比例拖拉缩放的方法
2015/08/04 Javascript
bootstrap警告框示例代码分享
2017/05/17 Javascript
nodejs mysql 实现分页的方法
2017/06/06 NodeJs
javascript将json格式数组下载为excel表格的方法
2017/12/22 Javascript
vue的toast弹窗组件实例详解
2018/05/14 Javascript
Vue-Router基础学习笔记(小结)
2018/10/15 Javascript
weui中的picker使用js进行动态绑定数据问题
2019/11/06 Javascript
Vue组件通信中非父子组件传值知识点总结
2019/12/05 Javascript
[03:40]DOTA2英雄梦之声_第01期_炼金术士
2014/06/23 DOTA
一些常用的Python爬虫技巧汇总
2016/09/28 Python
python3中函数参数的四种简单用法
2018/07/09 Python
对python中矩阵相加函数sum()的使用详解
2019/01/28 Python
python使用gdal对shp读取,新建和更新的实例
2020/03/10 Python
Django项目在pycharm新建的步骤方法
2021/03/02 Python
CSS3 transition 实现通知消息轮播条
2020/10/14 HTML / CSS
施华洛世奇韩国官网:SWAROVSKI韩国
2018/06/05 全球购物
C有"按引用传递"吗
2016/09/06 面试题
北京-环亚运商测试题.net程序员初步测试题
2013/05/28 面试题
设计部经理的岗位职责
2013/11/16 职场文书
大学生村官事迹材料
2014/01/21 职场文书
文明家庭先进事迹材
2014/01/27 职场文书
校园文明倡议书
2014/05/16 职场文书
房屋登记授权委托书范本
2014/10/09 职场文书
合作与交流自我评价
2015/03/09 职场文书
无罪辩护词范文
2015/05/21 职场文书
Hive导入csv文件示例
2022/06/25 数据库