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客户端快捷键管理类的较完整实现和应用
Jun 08 Javascript
理解Javascript_08_函数对象
Oct 15 Javascript
jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)
Mar 22 Javascript
关于jquery.validate1.9.0前台验证的使用介绍
Apr 26 Javascript
ExpressJS入门实例
Jan 14 Javascript
JavaScript中window.open用法实例详解
Apr 15 Javascript
浅谈JavaScript超时调用和间歇调用
Aug 30 Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
Apr 21 Javascript
VsCode插件整理(小结)
Sep 14 Javascript
微信小程序收藏功能的实现代码
Jun 12 Javascript
Bootstrap-table使用footerFormatter做统计列功能
Sep 07 Javascript
微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法
May 19 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
利用static实现表格的颜色隔行显示
2006/10/09 PHP
PHP的可变变量名的使用方法分享
2012/02/05 PHP
php+mysqli使用面向对象方式更新数据库实例
2015/01/29 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
2016/06/28 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
PHP中的self关键字详解
2019/06/23 PHP
PHP实现关键字搜索后描红功能示例
2019/07/03 PHP
另类调用flash无须激活的方法
2006/12/27 Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
2013/07/03 Javascript
Jquery.addClass始终无效原因分析
2013/09/08 Javascript
js使用DOM操作实现简单留言板的方法
2015/04/10 Javascript
JavaScript实现MIPS乘法模拟的方法
2015/04/17 Javascript
NodeJS实现阿里大鱼短信通知发送
2016/01/17 NodeJs
Javascript字符串拼接小技巧(推荐)
2016/06/02 Javascript
jQuery 判断元素整理汇总
2017/02/28 Javascript
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
2017/09/05 Javascript
vue js秒转天数小时分钟秒的实例代码
2018/08/08 Javascript
详解Vue.js v-for不支持IE9的解决方法
2018/12/29 Javascript
JS/jQuery实现获取时间的方法及常用类完整示例
2019/03/07 jQuery
jquery实现动态创建form并提交的方法示例
2019/05/27 jQuery
微信小程序如何调用图片接口API并居中显示
2019/06/29 Javascript
微信小程序实现类似微信点击语音播放效果
2020/03/30 Javascript
微信小程序实现录制、试听、上传音频功能(带波形图)
2020/02/27 Javascript
JavaScript装饰者模式原理与用法实例详解
2020/03/09 Javascript
浅谈python标准库--functools.partial
2019/03/13 Python
利用Python实现kNN算法的代码
2019/08/16 Python
pytorch动态网络以及权重共享实例
2020/01/06 Python
乌克兰排名第一的在线旅游超市:Farvater.Travel
2020/01/02 全球购物
大一期末自我鉴定
2013/12/13 职场文书
七匹狼男装广告词
2014/03/21 职场文书
农村改厕实施方案
2014/03/22 职场文书
不拖欠农民工工资承诺书
2014/03/31 职场文书
使用canvas实现雪花飘动效果的示例代码
2021/03/30 HTML / CSS
基于Redis过期事件实现订单超时取消
2021/05/08 Redis
python字典进行运算原理及实例分享
2021/08/02 Python