js实现缓冲运动效果的方法


Posted in Javascript onApril 10, 2015

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

该实例可实现一开始速度很快,然后慢下来,直到停止的效果。

要点:

var speed = (target-box.offsetLeft)/8;

目标点减去元素的当前位置的值除以8,因为offsetleft的值是一直在变大,所以速度的值也是一直的变小

speed = speed>0?Math.ceil(speed):Math.floor(speed);

正向速度的时候向上取整,反向速度的时候向下取整

代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="gb2312" />
<title>无标题文档</title>
<style>
<!--
body{margin:0; padding:0; font:12px/1.5 arial;}
#box{width:100px; height:100px; position:absolute;
background:#06c; left:0;}
-->
</style>
<script>
<!--
window.onload = function(){
 var box = document.getElementById("box");
 var btn = document.getElementById("btn");
 var timer=null;
 btn.onclick = function(){
  startrun(300);
 }
 function startrun(target){
  clearInterval(timer);
  timer = setInterval(function(){
  var speed = (target-box.offsetLeft)/8;
  speed = speed>0?Math.ceil(speed):Math.floor(speed);
  if(box.offsetLeft == target){
   clearInterval(timer);
  }else{
   box.style.left = box.offsetLeft+speed+"px";
  }
  document.getElementById('abc').innerHTML+=box.offsetLeft+','+speed+'<br>';
  },30);
 }
}
//-->
</script>
</head>
<body>
<input id="btn" type="submit" value="向右运动">
<div id="box">
</div>
<br>
<textarea id="abc" cols="50" rows="10" 
style="margin-top:130px"></textarea>
</body>
</html>

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

Javascript 相关文章推荐
js实现表格字段排序
Feb 19 Javascript
javascript获取wx.config内部字段解决微信分享
Mar 09 Javascript
jquery实现图片切换代码
Oct 13 Javascript
JS jQuery使用正则表达式去空字符的简单实现代码
May 20 jQuery
vue-router 中router-view不能渲染的解决方法
May 23 Javascript
JQuery Ajax 异步操作之动态添加节点功能
May 24 jQuery
详解React中setState回调函数
Jun 14 Javascript
详解为生产环境编译Angular2应用的方法
Dec 10 Javascript
JavaScript中的&quot;=、==、===&quot;区别讲解
Jan 22 Javascript
轻松解决JavaScript定时器越走越快的问题
May 13 Javascript
微信小程序 自定义弹窗实现过程(附代码)
Dec 05 Javascript
解决echarts中横坐标值显示不全(自动隐藏)问题
Jul 20 Javascript
js实现分享到随页面滚动而滑动效果的方法
Apr 10 #Javascript
js实现同一页面多个不同运动效果的方法
Apr 10 #Javascript
js实现类似jquery里animate动画效果的方法
Apr 10 #Javascript
js实现类似新浪微博首页内容渐显效果的方法
Apr 10 #Javascript
javascript中关于&amp;&amp; 和 || 表达式的小技巧分享
Apr 10 #Javascript
js简单的点击返回顶部效果实现方法
Apr 10 #Javascript
浅谈JavaScript正则表达式分组匹配
Apr 10 #Javascript
You might like
php数组函数序列之array_splice() - 在数组任意位置插入元素
2011/11/07 PHP
PHP常用技巧总结(附函数代码)
2012/02/04 PHP
推荐一款MAC OS X 下php集成开发环境mamp
2014/11/08 PHP
Codeigniter里的无刷新上传的实现代码
2019/04/14 PHP
$()JS小技巧
2007/07/21 Javascript
JavaScript修改css样式style
2008/04/15 Javascript
javascript window.confirm确认 取消对话框实现代码小结
2012/10/21 Javascript
jQuery事件用法实例汇总
2014/08/29 Javascript
一个通过script自定义属性传递配置参数的方法
2014/09/15 Javascript
Jquery中find与each方法用法实例
2015/02/04 Javascript
AngularJS删除路由中的#符号的方法
2016/09/20 Javascript
JavaScript简单生成 N~M 之间随机数的方法
2017/01/13 Javascript
jQuery实现页面倒计时并刷新效果
2017/03/13 Javascript
Vue中添加过渡效果的方法
2017/03/16 Javascript
JavaScript实现二叉树的先序、中序及后序遍历方法详解
2017/10/26 Javascript
JS中的BOM应用
2018/02/02 Javascript
Node.js进阶之核心模块https入门
2018/05/23 Javascript
Vue中android4.4不兼容问题的解决方法
2018/09/04 Javascript
javascript刷新父页面方法汇总详解
2019/10/10 Javascript
微信小程序列表时间戳转换实现过程解析
2019/10/12 Javascript
微信小程序request请求封装,验签代码实例
2019/12/04 Javascript
[02:42]完美大师赛主赛事淘汰赛第三日观众采访
2017/11/25 DOTA
Python字符串转换成浮点数函数分享
2015/07/24 Python
实例解析Python中的__new__特殊方法
2016/06/02 Python
django 使用 request 获取浏览器发送的参数示例代码
2018/06/11 Python
django富文本编辑器的实现示例
2019/04/10 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
薇姿法国官网:Vichy法国
2021/01/28 全球购物
数字天堂软件测试面试题
2012/12/23 面试题
医学生实习自我鉴定
2013/09/27 职场文书
大学生学年自我鉴定
2014/02/10 职场文书
学习十八大演讲稿
2014/09/15 职场文书
地震慰问信
2015/02/14 职场文书
煤矿百日安全活动总结
2015/05/07 职场文书
看上去很美观后感
2015/06/10 职场文书
使用@Value值注入及配置文件组件扫描
2021/07/09 Java/Android