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 相关文章推荐
CheckBoxList多选样式jquery、C#获取选择项
Sep 06 Javascript
jsp网页搜索结果中实现选中一行使其高亮
Feb 17 Javascript
使用jQuery实现星级评分代码分享
Dec 09 Javascript
深入理解JavaScript系列(40):设计模式之组合模式详解
Mar 04 Javascript
JavaScript中Window对象的属性及事件
Dec 25 Javascript
基于javascript实现动态时钟效果
Aug 18 Javascript
浅析JS原型继承与类的继承
Apr 07 Javascript
js select实现省市区联动选择
Apr 17 Javascript
JavaScript中全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)的代码分享
Nov 01 Javascript
jQuery点击头像上传并预览图片
Feb 23 Javascript
微信公众平台 发送模板消息(Java接口开发)
Apr 17 Javascript
简单使用webpack打包文件的实现
Oct 29 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中模拟处理HTTP PUT请求的例子
2014/07/22 PHP
php关联数组快速排序的方法
2015/04/17 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
2017/07/27 PHP
PHP 获取客户端 IP 地址的方法实例代码
2018/11/11 PHP
PHP序列化的四种实现方法与横向对比
2018/11/29 PHP
用js判断用户浏览器是否是XP SP2的IE6
2007/03/08 Javascript
幻灯片带网页设计中的20个奇妙应用示例小结
2012/05/27 Javascript
jquery入门—访问DOM对象方法
2013/01/07 Javascript
纯javascript实现简单下拉刷新功能
2015/03/13 Javascript
Jquery全选与反选点击执行一次的解决方案
2015/08/14 Javascript
15个常用的jquery代码片段
2015/12/19 Javascript
JS实现的倒计时效果实例(2则实例)
2015/12/23 Javascript
JavaScript驾驭网页-CSS与DOM
2016/03/24 Javascript
微信小程序五星评分效果实现代码
2017/04/06 Javascript
深入解析nodejs HTTP服务
2017/07/25 NodeJs
Sublime Text新建.vue模板并高亮(图文教程)
2017/10/26 Javascript
Material(包括Material Icon)在Angular2中的使用详解
2018/02/11 Javascript
Vue SSR 组件加载问题
2018/05/02 Javascript
vue中实现左右联动的效果
2018/06/22 Javascript
javascript网页随机点名实现过程解析
2019/10/15 Javascript
JS实现电商商品展示放大镜特效
2020/01/07 Javascript
浅谈vue单页面中有多个echarts图表时的公用代码写法
2020/07/19 Javascript
[09:47]2018DOTA2亚洲邀请赛4.5SOLO赛 No[o]ne vs Sumail
2018/04/06 DOTA
对pandas中apply函数的用法详解
2018/04/10 Python
解决Python plt.savefig 保存图片时一片空白的问题
2019/01/10 Python
详解python中sort排序使用
2019/03/23 Python
Python对象的属性访问过程详解
2020/03/05 Python
Abbott Lyon官网:女士手表、珠宝及配件
2020/12/26 全球购物
甜点店创业计划书
2014/01/27 职场文书
信息与工商管理职业规划范文:为梦想而搏击
2014/09/11 职场文书
教师党员整改措施
2014/10/24 职场文书
《称赞》教学反思
2016/02/17 职场文书
感谢信
2019/04/11 职场文书
idea编译器vue缩进报错问题场景分析
2021/07/04 Vue.js
Java中try catch处理异常示例
2021/12/06 Java/Android
Oracle使用别名的好处
2022/04/19 Oracle