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 相关文章推荐
JS 有名函数表达式全面解析
Mar 19 Javascript
jquery的extend和fn.extend的使用说明
Jan 09 Javascript
使用jquery实现div的tab切换实例代码
May 27 Javascript
jQuery插件实现控制网页元素动态居中显示
Mar 24 Javascript
jQuery通过改变input的type属性实现密码显示隐藏切换功能
Feb 08 Javascript
Angular.js实现获取验证码倒计时60秒按钮的简单方法
Oct 18 Javascript
vue input 输入校验字母数字组合且长度小于30的实现代码
May 16 Javascript
vue.js 实现评价五角星组件的实例代码
Aug 13 Javascript
vue解决一个方法同时发送多个请求的问题
Sep 25 Javascript
angularJS1 url中携带参数的获取方法
Oct 09 Javascript
用Vue编写抽象组件的方法
May 06 Javascript
react合成事件与原生事件的相关理解
May 13 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
ThinkPHP写数组插入与获取最新插入数据ID实例
2014/11/03 PHP
php在线解压ZIP文件的方法
2014/12/30 PHP
js replace 与replaceall实例用法详解
2013/08/03 Javascript
基于jquery扩展漂亮的CheckBox(自己编写)
2013/11/19 Javascript
JavaScript二维数组实现的省市联动菜单
2014/05/08 Javascript
原生JavaScript实现瀑布流布局
2020/06/28 Javascript
详解JavaScript中|单竖杠运算符的使用方法
2016/05/23 Javascript
nodejs加密Crypto的实例代码
2016/07/07 NodeJs
canvas 弹幕效果(实例分享)
2017/01/11 Javascript
js实现拖拽功能
2017/03/01 Javascript
jQuery实现下拉菜单的实例代码
2017/06/19 jQuery
JS对象与JSON互转换、New Function()、 forEach()、DOM事件流等js开发基础小结
2017/08/10 Javascript
vue.extend实现alert模态框弹窗组件
2018/04/28 Javascript
详解微信小程序之一键复制到剪切板
2019/04/24 Javascript
jQuery实现的图片点击放大缩小功能案例
2020/01/02 jQuery
[06:23]2014DOTA2西雅图国际邀请赛 小组赛7月12日TOPPLAY
2014/07/12 DOTA
[57:18]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#3VP VS VG
2016/03/03 DOTA
对python中的xlsxwriter库简单分析
2018/05/04 Python
python 匹配url中是否存在IP地址的方法
2018/06/04 Python
Sanic框架请求与响应实例分析
2018/07/16 Python
Flask框架响应、调度方法和蓝图操作实例分析
2018/07/24 Python
浅谈Python脚本开头及导包注释自动添加方法
2018/10/27 Python
对python:循环定义多个变量的实例详解
2019/01/20 Python
python实现图书借阅系统
2019/02/20 Python
python小白学习包管理器pip安装
2020/06/09 Python
详解使用python爬取抖音app视频(appium可以操控手机)
2021/01/26 Python
基础的CSS3弹性盒Flexbox布局使用实例
2016/04/08 HTML / CSS
详解HTML5中垂直上下居中的解决方案
2017/12/20 HTML / CSS
html5 input属性使用示例
2013/06/28 HTML / CSS
HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图
2015/08/31 HTML / CSS
研修第一天随笔感言
2014/02/15 职场文书
2014年党员公开承诺践诺书
2014/03/25 职场文书
运动会口号8字
2014/06/07 职场文书
客户答谢会活动方案
2014/08/31 职场文书
初中体育教学随笔
2015/08/15 职场文书
个人工作总结(管理人员)范文
2019/08/13 职场文书