JS实现的缓冲运动效果示例


Posted in Javascript onApril 30, 2018

本文实例讲述了JS实现的缓冲运动效果。分享给大家供大家参考,具体如下:

缓冲需要用到数值取整,向上取整:Math.ceil()  向下取整Math.floor()

移动的速度慢慢减慢的效果,移动速度=(终点位置 - 当前位置) / 一个数

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>3water.com JS缓冲运动</title>
<style>
#div{
  width:150px;
  height:150px;
  background:#0C6;
  position:absolute;
  left:0;
  top:50px;
}
#div2{
  background:#000;
  height:600px;
  position:absolute;
  left:500px;
  width:2px;
}
</style>
</head>
<script>
var speed;
var time;
window.onload = function(){
  var btn = document.getElementById('btn');
  btn.onclick = function(){
    speed = 0;
    move(500);
  };
  btn2.onclick = function(){
    speed = 0;
    move(0);
  };
};
function move(e){
  var div = document.getElementById('div');
  clearInterval(time);
  time = setInterval(function(){
    //改变位置,如果向左则e==500, 向上取整, 否则向右,向下取整,速度=(终点位置 - 当前位置)/一个数
    e==500 ? speed = Math.ceil((e-(div.offsetLeft))/30):speed = Math.floor((e-(div.offsetLeft))/30)
    if (e <= div.style.left){//达到,关闭定时器
      clearInterval(time);
    }
    else
    {
      div.style.left = div.offsetLeft+speed+'px';
    }
  },30);
};
</script>
<body>
<input type="button" value="向右运动" id="btn" />
<input type="button" value="向左运动" id="btn2" />
<div id = "div">
</div>
<div id = "div2">
</div>
</body>
</html>

点击此处查看在线演示效果。

或者使用本站在线HTML/js运行工具测试查看运行效果:http://tools.3water.com/code/HtmlJsRun

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
告诉大家什么是JSON
Jun 10 Javascript
JQuery 国际象棋棋盘 实现代码
Jun 26 Javascript
js给页面加style无效果的解决方法
Jan 20 Javascript
iframe的onreadystatechange事件在firefox下的使用
Apr 16 Javascript
JavaScript字符串对象substring方法入门实例(用于截取字符串)
Oct 17 Javascript
javascript实现table选中的行以指定颜色高亮显示的方法
May 13 Javascript
详解JavaScript中的forEach()方法的使用
Jun 08 Javascript
JS在onclientclick里如何控制onclick的执行
May 30 Javascript
详谈表单格式化插件jquery.serializeJSON
Jun 23 jQuery
react中使用swiper的具体方法
May 15 Javascript
浅析java线程中断的办法
Jul 29 Javascript
vue 集成jTopo 处理方法
Aug 07 Javascript
Vue波纹按钮组件制作
Apr 30 #Javascript
学习JS中的DOM节点以及操作
Apr 30 #Javascript
WebSocket的通信过程与实现方法详解
Apr 29 #Javascript
jQuery实现遍历XML节点和属性的方法示例
Apr 29 #jQuery
在vscode里使用.vue代码模板的方法
Apr 28 #Javascript
JS实现的透明度渐变动画效果示例
Apr 28 #Javascript
JS实现的简单折叠展开动画效果示例
Apr 28 #Javascript
You might like
php中var_export与var_dump的区别分析
2010/08/21 PHP
ThinkPHP之M方法实例详解
2014/06/20 PHP
激活 ActiveX 控件
2006/10/09 Javascript
jQuery.getScript加载同域JS的代码
2012/02/13 Javascript
基于jquery完美拖拽,可返回拖动轨迹
2012/03/29 Javascript
js获取input标签的输入值实现代码
2013/08/05 Javascript
JQUERY dialog的用法详细解析
2013/12/19 Javascript
js实现点击左右按钮轮播图片效果实例
2015/01/29 Javascript
简单的jQuery banner图片轮播实例代码
2016/03/04 Javascript
jQuery Ajax Post 回调函数不执行问题的解决方法
2016/08/15 Javascript
JavaScript中数组slice和splice的对比小结
2016/09/22 Javascript
vue.js实现数据动态响应 Vue.set的简单应用
2017/06/15 Javascript
vue-cli 自定义指令directive 添加验证滑块示例
2017/10/19 Javascript
JavaScript对象的浅拷贝与深拷贝实例分析
2018/07/25 Javascript
Vue CLI3 开启gzip压缩文件的方式
2018/09/30 Javascript
JavaScript变量提升和严格模式实例分析
2019/01/27 Javascript
小程序中英文混合排序问题解决
2019/08/02 Javascript
vue element upload实现图片本地预览
2019/08/20 Javascript
vue-cli+iview项目打包上线之后图标不显示问题及解决方法
2019/10/16 Javascript
vue跳转方式(打开新页面)及传参操作示例
2020/01/26 Javascript
vue设置全局访问接口API地址操作
2020/08/14 Javascript
Python 过滤字符串的技巧,map与itertools.imap
2008/09/06 Python
python学习之编写查询ip程序
2016/02/27 Python
Python GUI编程完整示例
2019/04/04 Python
QML用PathView实现轮播图
2020/06/03 Python
Python+PyQt5+MySQL实现天气管理系统
2020/06/16 Python
CSS3制作酷炫的条纹背景
2017/11/09 HTML / CSS
彪马美国官网:PUMA美国
2017/03/09 全球购物
Lululemon加拿大官网:加拿大知名体育服装零售商
2019/04/12 全球购物
护士自我评价
2014/02/01 职场文书
小学生一分钟演讲稿
2014/08/26 职场文书
环卫工人节活动总结
2014/08/29 职场文书
普通党员个人整改措施
2014/10/27 职场文书
五年级语文教学反思
2016/03/03 职场文书
基于Redis过期事件实现订单超时取消
2021/05/08 Redis
你需要掌握的20个Python常用技巧
2022/02/28 Python