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 自动分号插入(JavaScript synat:auto semicolon insertion)
Nov 04 Javascript
jquery限定文本框只能输入数字即整数和小数
Nov 29 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
Jun 20 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
Aug 24 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
Oct 22 Javascript
用js控件div的滚动条,让它在内容更新时自动滚到底部的实现方法
Oct 27 Javascript
js点击任意区域弹出层消失实现代码
Dec 27 Javascript
node.js中grunt和gulp的区别详解
Jul 17 Javascript
vue-cli 组件的导入与使用教程详解
Apr 11 Javascript
一个Vue视频媒体多段裁剪组件的实现示例
Aug 09 Javascript
小程序自定义单页面、全局导航栏的实现代码
Mar 15 Javascript
vue 开发之路由配置方法详解
Dec 02 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分页实例代码分享
2011/07/28 PHP
关于shopex同步ucenter的redirect问题,导致script不运行
2013/04/10 PHP
PHP SplObjectStorage使用实例
2015/05/12 PHP
学习YUI.Ext第五日--做拖放Darg&amp;Drop
2007/03/10 Javascript
jQuery拖拽 &amp; 弹出层 介绍与示例
2013/12/27 Javascript
iframe实用操作锦集
2014/04/22 Javascript
js图片实时加载提供网页打开速度
2014/09/11 Javascript
Jquery结合HTML5实现文件上传
2015/06/25 Javascript
js实现页面跳转的几种方法小结
2016/05/16 Javascript
微信小程序之仿微信漂流瓶实例
2016/12/09 Javascript
js中的DOM模拟购物车功能
2017/03/22 Javascript
js实现图片加载淡入淡出效果
2017/04/07 Javascript
JavaScript的继承实现小结
2017/05/07 Javascript
利用JavaScript实现栈的数据结构示例代码
2017/08/02 Javascript
Nodejs进阶之服务端字符编解码和乱码处理
2017/09/04 NodeJs
总结javascript三元运算符知识点
2018/09/28 Javascript
M2实现Nodejs项目自动部署的方法步骤
2019/05/05 NodeJs
nodejs一个简单的文件服务器的创建方法
2019/09/13 NodeJs
VUEX采坑之路之获取不到$store的解决方法
2019/11/08 Javascript
Vue实现购物车实例代码两则
2020/05/30 Javascript
[36:05]DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs Optic
2018/04/01 DOTA
[25:59]Newbee vs TNC 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[01:37]PWL S2开团时刻DAY1&2——这符有毒
2020/11/20 DOTA
详细解析Python当中的数据类型和变量
2015/04/25 Python
python使用Tkinter实现在线音乐播放器
2018/01/30 Python
Python实现aes加密解密多种方法解析
2020/05/15 Python
tensorflow转换ckpt为savermodel模型的实现
2020/05/25 Python
舞会礼服和舞会鞋:PromGirl
2019/04/22 全球购物
意大利领先的奢侈品在线时装零售商:MCLABELS
2020/10/13 全球购物
理工科学生的自我评价
2013/12/15 职场文书
没有孩子的离婚协议书怎么写
2014/09/17 职场文书
2014年教师批评与自我批评思想汇报
2014/09/20 职场文书
数学教师个人总结
2015/02/06 职场文书
2015年公务员转正工作总结
2015/04/24 职场文书
解决MultipartFile.transferTo(dest) 报FileNotFoundExcep的问题
2021/07/01 Java/Android
NoSQL优缺点与MongoDB数据库简介
2022/06/05 MongoDB