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 相关文章推荐
jquery更换文章内容与改变字体大小代码
Sep 30 Javascript
JavaScript开发人员的10个关键习惯小结
Dec 05 Javascript
封装好的一个万能检测表单的方法
Jan 21 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
Feb 28 Javascript
JS判断页面是否出现滚动条的方法
Jul 17 Javascript
elemetUi 组件--el-upload实现上传Excel文件的实例
Oct 27 Javascript
JS Input里添加小图标的两种方法
Nov 11 Javascript
react中fetch之cors跨域请求的实现方法
Mar 14 Javascript
详解vue中点击空白处隐藏div的实现(用指令实现)
Apr 19 Javascript
解决Layui选择全部,换页checkbox复选框重新勾选的问题方法
Aug 14 Javascript
vue使用Google地图的实现示例代码
Dec 19 Javascript
ant design vue 表格table 默认勾选几项的操作
Oct 31 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的memcache类分享(memcache队列)
2014/03/26 PHP
深入讲解PHP的对象注入(Object Injection)
2017/03/01 PHP
如何实现iframe(嵌入式帧)的自适应高度
2006/07/26 Javascript
File, FileReader 和 Ajax 文件上传实例分析(php)
2011/04/27 Javascript
查看图片(前进后退)功能实现js代码
2013/04/24 Javascript
从数据结构的角度分析 for each in 比 for in 快的多
2013/07/07 Javascript
整理的比较全的event对像在ie与firefox浏览器中的区别
2013/11/25 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
jQuery Validate验证框架经典大全
2015/09/23 Javascript
jQuery实现页面倒计时并刷新效果
2017/03/13 Javascript
Javascript ES6中对象类型Sets的介绍与使用详解
2017/07/17 Javascript
JavaScript中各数制转换全面总结
2017/08/21 Javascript
jquery根据name取得select选中的值实例(超简单)
2018/01/25 jQuery
layui表格分页 记录勾选的实例
2019/09/02 Javascript
[00:15]TI9观赛名额抽取
2019/07/10 DOTA
跟老齐学Python之玩转字符串(3)
2014/09/14 Python
简单谈谈Python中的闭包
2016/11/30 Python
python中如何使用朴素贝叶斯算法
2017/04/06 Python
python使用SMTP发送qq或sina邮件
2017/10/21 Python
利用Python进行异常值分析实例代码
2017/12/07 Python
Python 机器学习库 NumPy入门教程
2018/04/19 Python
python实现PID算法及测试的例子
2019/08/08 Python
分享PyCharm的几个使用技巧
2019/11/10 Python
浅析python内置模块collections
2019/11/15 Python
html5如何及时更新缓存文件(js、css或图片)
2013/06/24 HTML / CSS
欧舒丹美国官网:L’Occitane美国
2018/02/23 全球购物
软件工程师面试题
2012/06/25 面试题
幼师自我鉴定范文
2013/10/01 职场文书
通信专业个人自我鉴定
2013/10/21 职场文书
四年级下册教学反思
2014/02/01 职场文书
乡镇爱国卫生月活动总结
2014/06/25 职场文书
合作意向书
2014/07/30 职场文书
代理人委托书
2014/08/01 职场文书
高中生思想道德自我评价
2015/03/09 职场文书
幼儿园小班教育随笔
2015/08/14 职场文书
Python竟然能剪辑视频
2021/05/25 Python