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 ui对话框实例代码
May 10 Javascript
Vue.js每天必学之过渡与动画
Sep 06 Javascript
Vue.js组件tree实现省市多级联动
Dec 02 Javascript
EasyUI的DataGrid每行数据添加操作按钮的实现代码
Aug 22 Javascript
详解angular笔记路由之angular-router
Sep 12 Javascript
JS计算距当前时间的时间差实例
Dec 29 Javascript
[原创]jQuery实现合并/追加数组并去除重复项的方法
Apr 11 jQuery
原生JS实现DOM加载完成马上执行JS代码的方法
Sep 07 Javascript
Echarts之悬浮框中的数据排序问题
Nov 08 Javascript
vue之debounce属性被移除及处理详解
Nov 13 Javascript
JS document内容及样式操作完整示例
Jan 14 Javascript
es5 类与es6中class的区别小结
Nov 09 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
destoon实现首页显示供应、企业、资讯条数的方法
2014/07/15 PHP
PHP通过串口实现发送短信
2015/07/08 PHP
Laravel Eloquent ORM 多条件查询的例子
2019/10/10 PHP
Prototype使用指南之dom.js
2007/01/10 Javascript
js绑定事件this指向发生改变的问题解决方法
2013/04/23 Javascript
JavaScript中的ubound函数使用实例
2014/11/04 Javascript
完美兼容IE,chrome,ff的设为首页、加入收藏及保存到桌面js代码
2014/12/17 Javascript
js实现每日自动换一张图片的方法
2015/05/04 Javascript
基于jQuery.Hz2Py.js插件实现的汉字转拼音特效
2015/05/07 Javascript
js实现选中复选框文字变色的方法
2015/08/14 Javascript
js实现鼠标点击左上角滑动菜单效果代码
2015/09/06 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
2015/12/14 Javascript
React实现双向绑定示例代码
2016/09/19 Javascript
vue动态路由实现多级嵌套面包屑的思路与方法
2017/08/16 Javascript
实现图片首尾平滑轮播(JS原生方法—节流)
2017/10/17 Javascript
微信小程序实现跟随菜单效果和循环嵌套加载数据
2017/11/21 Javascript
bootstrap select2插件用ajax来获取和显示数据的实例
2018/08/09 Javascript
vue实现循环切换动画
2018/10/17 Javascript
bootstrap-table+treegrid实现树形表格
2019/07/26 Javascript
layui实现数据分页功能
2019/07/27 Javascript
js防抖函数和节流函数使用场景和实现区别示例分析
2020/04/11 Javascript
[48:52]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第一局
2016/02/25 DOTA
[02:38]2018年度DOTA2最佳劣单位选手-完美盛典
2018/12/17 DOTA
python django 访问静态文件出现404或500错误
2017/01/20 Python
python批量赋值操作实例
2018/10/22 Python
留学生如何写好自荐信
2013/12/27 职场文书
出国留学经济担保书
2014/04/01 职场文书
外贸业务员求职信
2014/06/16 职场文书
爱心捐书活动总结
2014/07/05 职场文书
公司委托书格式范本
2014/09/16 职场文书
2014年辅导员工作总结
2014/11/18 职场文书
学校党员干部承诺书
2015/05/04 职场文书
家电创业计划书
2019/08/05 职场文书
2020年基层司法所建设情况调研报告
2019/11/30 职场文书
golang gopm get -g -v 无法获取第三方库的解决方案
2021/05/05 Golang
Nginx禁止ip访问或非法域名访问
2022/04/07 Servers