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 $.trim()方法使用介绍
May 21 Javascript
Jquery异步提交表单代码分享
Mar 26 Javascript
js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)
Jan 19 Javascript
js实现开启密码大写提示
Dec 21 Javascript
node实现的爬虫功能示例
May 04 Javascript
详细讲解如何创建, 发布自己的 Vue UI 组件库
May 29 Javascript
使用react context 实现vue插槽slot功能
Jul 18 Javascript
layui 对弹窗 form表单赋值的实现方法
Sep 04 Javascript
js实现拖动缓动效果
Jan 13 Javascript
VUE UPLOAD 通过ACTION返回上传结果操作
Sep 07 Javascript
javascript使用正则表达式实现注册登入校验
Sep 23 Javascript
原生js实现简单轮播图
Oct 26 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写的采集程序
2007/03/16 PHP
php读取本地文件常用函数(fopen与file_get_contents)
2013/09/09 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
学习php设计模式 php实现访问者模式(Visitor)
2015/12/07 PHP
php框架CodeIgniter使用redis的方法分析
2018/04/13 PHP
提高javascript效率 一次判断,而不要次次判断
2012/03/30 Javascript
javascript的事件触发器介绍的实现
2014/06/05 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
2015/12/04 Javascript
js+html5实现canvas绘制网页时钟的方法
2016/05/21 Javascript
利用jquery实现瀑布流3种案例
2016/09/18 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
jQuery层级选择器实例代码
2017/02/06 Javascript
jQuery源码解读之extend()与工具方法、实例方法详解
2017/03/30 jQuery
JS简单判断滚动条的滚动方向实现方法
2017/04/28 Javascript
浅谈angular4实际项目搭建总结
2017/12/01 Javascript
JavaScript实现单例模式实例分享
2017/12/22 Javascript
js动态引入的四种方法
2018/05/05 Javascript
vue组件name的作用小结
2018/05/23 Javascript
微信小程序清空输入框信息与实现屏幕往上滚动的示例代码
2020/06/23 Javascript
vue页面跳转实现页面缓存操作
2020/07/22 Javascript
vue swipeCell滑动单元格(仿微信)的实现示例
2020/09/14 Javascript
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
2008/09/06 Python
举例讲解Python设计模式编程的代理模式与抽象工厂模式
2016/01/16 Python
Python的Flask框架应用调用Redis队列数据的方法
2016/06/06 Python
Python简单实现两个任意字符串乘积的方法示例
2018/04/12 Python
使用python存储网页上的图片实例
2018/05/22 Python
python实现点对点聊天程序
2018/07/28 Python
python实现图片二值化及灰度处理方式
2019/12/07 Python
BOSE德国官网:尽探索之力,享音乐之极
2016/12/11 全球购物
小班秋游活动方案
2014/02/22 职场文书
2014年生活老师工作总结
2014/12/23 职场文书
邀请书格式范文
2015/02/02 职场文书
2015年信息中心工作总结
2015/05/25 职场文书
nginx简单配置多个server的方法
2021/03/31 Servers
微信小程序 根据不同用户切换不同TabBar
2022/04/21 Javascript
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python