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的输入框在光标位置插入内容, 并选中
Oct 29 Javascript
js实现带搜索功能的下拉框实时搜索实时匹配
Nov 05 Javascript
javascript继承的六大模式小结
Apr 13 Javascript
node.js读取文件到字符串的方法
Jun 29 Javascript
基于jQuery实现在线选座之高铁版
Aug 24 Javascript
详解Node中导入模块require和import的区别
Aug 11 Javascript
微信小程序使用checkbox显示多项选择框功能【附源码下载】
Dec 11 Javascript
jQuery中将json数据显示到页面表格的方法
May 27 jQuery
elementUI select组件默认选中效果实现的方法
Mar 25 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
Jul 30 Javascript
Vue axios与Go Frame后端框架的Options请求跨域问题详解
Mar 03 Javascript
Vue中使用JsonView来展示Json树的实例代码
Nov 16 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 事件机制(2)
2011/03/23 PHP
PHP中将数组转成XML格式的实现代码
2011/08/08 PHP
解析php中die(),exit(),return的区别
2013/06/20 PHP
深入解析phpCB批量转换的代码示例
2013/06/27 PHP
将php数组输出html表格的方法
2014/02/24 PHP
PHP中使用Imagick操作PSD文件实例
2015/01/26 PHP
使用php-timeit估计php函数的执行时间
2015/09/06 PHP
jQuery 研究心得 取得属性的值
2007/11/30 Javascript
jQuery实现鼠标划过添加和删除class的方法
2015/06/26 Javascript
javascript获取当前的时间戳的方法汇总
2015/07/26 Javascript
javascript实现的登陆遮罩效果汇总
2015/11/09 Javascript
浅谈react.js 之 批量添加与删除功能
2017/04/17 Javascript
详解vue-cli 快速搭建单页应用之遇到的问题及解决办法
2018/03/01 Javascript
vue+axios实现文件下载及vue中使用axios的实例
2018/09/21 Javascript
JS使用正则表达式提交页面验证的代码
2019/10/16 Javascript
JS指定音频audio在某个时间点进行播放
2020/11/28 Javascript
解决pycharm安装后代码区不能编辑的问题
2018/10/28 Python
Python爬取商家联系电话以及各种数据的方法
2018/11/10 Python
python正则表达式匹配[]中间为任意字符的实例
2018/12/25 Python
Python + OpenCV 实现LBP特征提取的示例代码
2019/07/11 Python
python argparser的具体使用
2019/11/10 Python
在OpenCV里实现条码区域识别的方法示例
2019/12/04 Python
Python实现Wordcloud生成词云图的示例
2020/03/30 Python
Python常用模块函数代码汇总解析
2020/08/31 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
2020/10/31 Python
python 三种方法实现对Excel表格的读写
2020/11/19 Python
Python 可视化神器Plotly详解
2020/12/26 Python
基于CSS3制作立体效果导航菜单
2016/01/12 HTML / CSS
全球知名旅游社区法国站点:TripAdvisor法国
2016/08/03 全球购物
巴西美妆购物网站:Kutiz Beauté
2019/03/13 全球购物
大学生村官心得体会范文
2014/01/04 职场文书
闭幕式主持词
2014/04/02 职场文书
简单租房协议书范本
2014/08/20 职场文书
公司捐书倡议书
2015/04/27 职场文书
2016保送生自荐信范文
2016/01/29 职场文书
2019暑假阅读倡议书
2019/06/24 职场文书