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 isEmptyObject判断是否为空对象的函数
Feb 14 Javascript
JavaScript日期时间与时间戳的转换函数分享
Jan 31 Javascript
JavaScript使用shift方法移除素组第一个元素实例分析
Apr 06 Javascript
js给selected添加options的方法
May 06 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
Oct 28 Javascript
浅析Ajax语法
Dec 05 Javascript
JavaScript字符串对象
Jan 14 Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
Jun 29 Javascript
node.js基于fs模块对系统文件及目录进行读写操作的方法详解
Nov 10 Javascript
node和vue实现商城用户地址模块
Dec 05 Javascript
JavaScript动态创建二维数组的方法示例
Feb 01 Javascript
小程序登录/注册页面设计的实现代码
May 24 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
Protoss兵种对照表
2020/03/14 星际争霸
令PHP初学者头疼十四条问题大总结
2008/11/12 PHP
php用header函数实现301跳转代码实例
2013/11/25 PHP
浅析php数据类型转换
2014/01/09 PHP
php中的explode()函数实例介绍
2019/01/18 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
Jquery实现简单的动画效果代码
2012/03/18 Javascript
extjs 3.31 TreeGrid实现静态页面加载json到TreeGrid里面
2013/04/02 Javascript
详谈JavaScript内存泄漏
2014/11/14 Javascript
ECMAScript中函数function类型
2015/06/03 Javascript
浅析Javascript中bind()方法的使用与实现
2016/05/30 Javascript
jQuery图片左右滚动代码 有左右按钮实例
2016/06/20 Javascript
JS 组件系列之BootstrapTable的treegrid功能
2017/06/16 Javascript
Vue+Element使用富文本编辑器的示例代码
2017/08/14 Javascript
详解react-native WebView 返回处理(非回调方法可解决)
2018/02/27 Javascript
nodejs中用npm初始化来创建package.json的实例讲解
2018/10/10 NodeJs
使用webpack打包后的vue项目如何正确运行(express)
2018/10/26 Javascript
JavaScript常用内置对象用法分析
2019/07/09 Javascript
Python的lambda匿名函数的简单介绍
2013/04/25 Python
Python的动态重新封装的教程
2015/04/11 Python
详解用Python处理HTML转义字符的5种方式
2017/12/27 Python
Python定义一个函数的方法
2020/06/15 Python
html5手机键盘弹出收起的处理
2020/01/20 HTML / CSS
Europcar意大利:汽车租赁
2019/07/07 全球购物
三星俄罗斯授权在线商店:Samsung俄罗斯
2019/09/28 全球购物
.NET方向面试题
2014/11/20 面试题
什么是反射
2012/03/17 面试题
体育专业个人求职信范文
2013/12/27 职场文书
消防安全管理制度
2014/02/01 职场文书
高中军训感想300字
2014/03/04 职场文书
《大自然的语言》教学反思
2014/04/08 职场文书
公司承诺书格式范文
2015/04/28 职场文书
导游词之上海杜莎夫人蜡像馆
2019/11/22 职场文书
利用Python将list列表写入文件并读取的方法汇总
2022/03/25 Python
Java中Quartz高可用定时任务快速入门
2022/04/03 Java/Android
让JavaScript代码更加精简的方法技巧
2022/06/01 Javascript