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 相关文章推荐
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
Mar 28 Javascript
我的Node.js学习之路(一)
Jul 06 Javascript
JavaScript AJAX之惰性载入函数
Aug 27 Javascript
原生javascript实现图片按钮切换
Jan 12 Javascript
js实现网页图片延时加载 提升网页打开速度
Jan 26 Javascript
Vue.JS入门教程之处理表单
Dec 01 Javascript
javascript设计模式之单体模式学习笔记
Feb 15 Javascript
AngularJS监听路由变化的方法
Mar 07 Javascript
详解如何在vue中使用sass
Jun 21 Javascript
简述jQuery Easyui一些用法
Aug 01 jQuery
vue.js动画中的js钩子函数的实现
Jul 06 Javascript
angular 服务随记小结
May 06 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
re0第二季蕾姆被制作组打入冷宫!艾米莉亚女主扶正,原因唏嘘
2020/04/02 日漫
php实现的中文分词类完整实例
2017/02/06 PHP
php 类中的常量、静态属性、非静态属性的区别
2017/04/09 PHP
js表格分页实现代码
2009/09/18 Javascript
javascript 上下banner替换具体实现
2013/11/14 Javascript
jQuery实现的登录浮动框效果代码
2015/09/26 Javascript
jQuery 局部div刷新和全局刷新方法总结
2016/10/05 Javascript
使用json-server简单完成CRUD模拟后台数据的方法
2018/07/12 Javascript
js根据json数据中的某一个属性来给数据分组的方法
2018/10/08 Javascript
在Node.js下运用MQTT协议实现即时通讯及离线推送的方法
2019/01/24 Javascript
VUE 单页面使用 echart 窗口变化时的用法
2020/07/30 Javascript
Vue实现鼠标经过文字显示悬浮框效果的示例代码
2020/10/14 Javascript
微信小程序自定义底部弹出框动画
2020/11/18 Javascript
[42:48]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第二场 12.11
2020/12/16 DOTA
使用python搭建Django应用程序步骤及版本冲突问题解决
2013/11/19 Python
python中mechanize库的简单使用示例
2014/01/10 Python
Python max内置函数详细介绍
2016/11/17 Python
Python中xrange与yield的用法实例分析
2017/12/26 Python
python3.5基于TCP实现文件传输
2020/03/20 Python
如何安装并使用conda指令管理python环境
2019/07/10 Python
python GUI计算器的实现
2020/10/09 Python
HTML5 与 XHTML2
2008/10/17 HTML / CSS
IE支持HTML5的解决方法
2009/10/20 HTML / CSS
中国最大的名表商城:万表网
2016/08/29 全球购物
日本最大的旅游网站:Rakuten Travel(乐天旅游)
2018/08/02 全球购物
在印度上传处方,在线订购药品:Medlife
2019/03/28 全球购物
凯蒂·佩里个人女鞋品牌:Katy Perry Collections
2019/04/04 全球购物
宿舍使用违章电器检讨书
2014/01/12 职场文书
外贸员简历中的自我评价
2014/03/04 职场文书
2014年寒假社会实践活动心得体会
2014/04/07 职场文书
仓库管理计划书
2014/05/04 职场文书
课外访万家心得体会
2014/09/03 职场文书
100句拼搏进取的名言警句,值得一读!
2019/10/07 职场文书
vue2实现provide inject传递响应式
2021/05/21 Vue.js
电频谱管理的原则是什么
2022/02/18 无线电
Springboot中如何自动转JSON输出
2022/06/16 Java/Android