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 相关文章推荐
Google Suggest ;-) 基于js的动态下拉菜单
Oct 11 Javascript
JavaScript初学者应注意的七个细节详细介绍
Dec 27 Javascript
Iframe实现跨浏览器自适应高度解决方法
Sep 02 Javascript
jQuery中:button选择器用法实例
Jan 04 Javascript
jQuery结合HTML5制作的爱心树表白动画
Feb 01 Javascript
Markdown+Bootstrap图片自适应属性详解
May 21 Javascript
javascript实现根据汉字获取简拼
Sep 25 Javascript
JS实现给对象动态添加属性的方法
Jan 05 Javascript
javascript基础练习之翻转字符串与回文
Feb 20 Javascript
简述JS浏览器的三种弹窗
Jul 15 Javascript
详解如何在vue项目中使用lodop打印插件
Sep 27 Javascript
JAVA面试题 static关键字详解
Jul 16 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一句话cmdshell新型 (非一句话木马)
2009/04/18 PHP
PHP MSSQL 分页实例
2016/04/13 PHP
php制作基于xml的RSS订阅源功能示例
2017/02/08 PHP
laravel 获取某个查询的查询SQL语句方法
2019/10/12 PHP
基础的prototype.js常用函数及其用法
2007/03/10 Javascript
js获取会话框prompt的返回值的方法
2015/01/10 Javascript
jQuery时间插件jquery.clock.js用法实例(5个示例)
2016/01/14 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
浅谈Node.js ORM框架Sequlize之表间关系
2017/07/24 Javascript
浅谈angular2 组件的生命周期钩子
2017/08/12 Javascript
详解从零搭建 vue2 vue-router2 webpack3 工程
2017/11/22 Javascript
axios携带cookie配置详解(axios+koa)
2018/12/28 Javascript
详解Next.js页面渲染的优化方案
2019/01/27 Javascript
JS实现简单日历特效
2020/01/03 Javascript
Bootstrap简单实用的表单验证插件BootstrapValidator用法实例详解
2020/03/29 Javascript
js实现时间日期校验
2020/05/26 Javascript
Python实现将数据库一键导出为Excel表格的实例
2016/12/30 Python
浅谈Python实现Apriori算法介绍
2017/12/20 Python
pyhton列表转换为数组的实例
2018/04/04 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
Python中使用filter过滤列表的一个小技巧分享
2020/05/02 Python
Python读取多列数据以及用matplotlib制作图表方法实例
2020/09/23 Python
光声世纪笔试题目
2012/08/25 面试题
儿科护士实习自我鉴定
2013/10/17 职场文书
党委书记岗位职责
2013/11/24 职场文书
幼儿园消防安全制度
2014/01/26 职场文书
自习课吵闹检讨书范文
2014/09/26 职场文书
父亲婚礼答谢词
2015/01/04 职场文书
商超业务员岗位职责
2015/02/13 职场文书
严以律己学习心得体会
2016/01/13 职场文书
《扇形统计图》教学反思
2016/02/17 职场文书
CocosCreator入门教程之网络通信
2021/04/16 Javascript
pandas中DataFrame数据合并连接(merge、join、concat)
2021/05/30 Python
MySQL8.0升级的踩坑历险记
2021/11/01 MySQL
深入理解go缓存库freecache的使用
2022/02/15 Golang
JAVA springCloud项目搭建流程
2022/05/11 Java/Android