Js运动动画系列3--缓冲运动
2016-07-11 11:19
141 查看
<head> <title>缓冲运动</title> <style type="text/css"> * { margin: 0; padding: 0; } #div1 { width: 200px; height: 200px; background: red; position: relative; left: -200px; top: 0; cursor: pointer; } #div1 span { width: 20px; height: 50px; background: blue; position: absolute; left: 200px; top: 75px; } </style> </head> <body> <div id="div1"> <span id="share">分享</span> </div> </body> </html>
<script type="text/javascript"> window.onload = function () { var oDiv = document.getElementById("div1"); oDiv.onmouseover = function () { startMove(0); } oDiv.onmouseout = function () { startMove(-200); } } var timer = null; function startMove(iTarget) { clearInterval(timer); var oDiv = document.getElementById("div1"); timer = setInterval(function () { var speed = (iTarget - oDiv.offsetLeft) / 20; //缓冲动画 越来越慢 但是会取得小数的速度 需要把速度取整 speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);//缓冲动画移动要做取整操作 if (oDiv.offsetLeft == iTarget) { clearInterval(timer); } else { oDiv.style.left = oDiv.offsetLeft + speed + 'px'; } }, 30) } </script>
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- html5 web数据存储
- 最后一次说说闭包
- Ajax
- SEO
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- [译] React 入门
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法