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 操作select标签实现代码
May 14 Javascript
jQuery实现html元素拖拽
Jul 21 Javascript
jQuery实现Flash效果上下翻动的中英文导航菜单代码
Sep 22 Javascript
如何实现移动端浏览器不显示 pc 端的广告
Oct 15 Javascript
jQuery随手笔记之常用的jQuery操作DOM事件
Nov 29 Javascript
浅析jQuery 遍历函数,javascript中的each遍历
May 25 Javascript
老生常谈jquery id选择器和class选择器的区别
Feb 12 Javascript
Django1.7+JQuery+Ajax验证用户注册集成小例子
Apr 08 jQuery
详解Require.js与Sea.js的区别
Aug 05 Javascript
angular 数据绑定之[]和{{}}的区别
Sep 25 Javascript
django中使用vue.js的要点总结
Jul 07 Javascript
vue实现评价星星功能
Jun 30 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 远程关机实现代码
2009/11/10 PHP
LotusPhp笔记之:Cookie组件的使用详解
2013/05/06 PHP
神盾加密解密教程(三)PHP 神盾解密工具
2014/06/08 PHP
php array_chunk()函数用法与注意事项
2019/07/12 PHP
JavaScript中String和StringBuffer的速度之争
2010/04/01 Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
2013/09/22 Javascript
使用JavaScript进行进制转换将字符串转换为十进制
2014/09/21 Javascript
js实现延时加载Flash的方法
2015/11/26 Javascript
js实现商品抛物线加入购物车特效
2020/11/18 Javascript
BootStrap glyphicons 字体图标实现方法
2016/05/01 Javascript
浅谈js中字符和数组一些基本算法题
2016/08/15 Javascript
HTML Table 空白单元格补全的简单实现
2016/10/13 Javascript
ECMAScript6 新特性范例大全
2017/03/24 Javascript
vue滚动固定顶部及修改样式的实例代码
2019/05/30 Javascript
javascript读取本地文件和目录方法详解
2020/08/06 Javascript
解决vue scoped html样式无效的问题
2020/10/24 Javascript
javascript实现时钟动画
2020/12/03 Javascript
jquery实现广告上下滚动效果
2021/03/04 jQuery
[57:22]完美世界DOTA2联赛PWL S2 FTD vs PXG 第二场 11.27
2020/12/01 DOTA
python&amp;MongoDB爬取图书馆借阅记录
2016/02/05 Python
澳大利亚百货公司:David Jones
2018/02/08 全球购物
Theo + George官方网站:都柏林时尚品牌
2019/04/08 全球购物
IFCHIC台湾:欧美国际设计师品牌
2019/05/18 全球购物
会计自我鉴定范文
2013/10/06 职场文书
考试作弊被抓检讨书
2014/01/10 职场文书
党委班子纠正“四风”问题整改措施
2014/10/28 职场文书
党校学习党性分析材料
2014/12/19 职场文书
2015安全保卫工作总结
2015/04/25 职场文书
社区敬老月活动总结
2015/05/07 职场文书
新郎婚礼致辞
2015/07/27 职场文书
升学宴祝酒词
2015/08/11 职场文书
《地震中的父与子》教学反思
2016/02/16 职场文书
Python机器学习之逻辑回归
2021/05/11 Python
Docker下安装Oracle19c
2022/04/13 Servers
代码复现python目标检测yolo3详解预测
2022/05/06 Python
Python加密与解密模块hashlib与hmac
2022/06/05 Python