Javascript模拟加速运动与减速运动代码分享


Posted in Javascript onDecember 11, 2014

加速运动,即一个物体运动时速度越来越快;减速运动,即一个物体运动时速度越来越慢。现在用Javascript来模拟这两个效果,原理就是用setInterval或setTimeout动态改变一个元素与另外一个元素的距离,如xxx.style.left或xxx.style.marginLeft,然后每次运动后都使速度增加,这样加速运动的效果就出现了,减速运动是同样的道理。

下面是两个示例:

加速运动

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>Javascript加速运动</title>

<style type="text/css">

* {margin: 0; padding: 0;}

.div1 {width: 100px; height: 100px; background: #f60 url(qiuweiguan.gif) no-repeat center center;}

</style>

<script type="text/javascript">

var $$ = function (id) {

return document.getElementById(id);

}

window.onload = function () {

var oBtn = $$("btn1");

var oDiv = $$("div1");

var timer = null;

var speed = 0;

oBtn.onclick = function () {

clearInterval(timer);

timer = setInterval(function () {

speed ++;

oDiv.style.marginLeft = oDiv.offsetLeft + speed + "px";

}, 30);

}

}

</script>

</head>

<body id = "body">

<button id="btn1" class="btn1">GO</button>

<div id="div1" class="div1"></div>

</body>

</html>

注:本示例中,点击GO后,div块会一直向右做加速运动

减速运动

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>Javascript减速运动</title>

<style type="text/css">

* {margin: 0; padding: 0;}

.div1 {width: 100px; height: 100px; background: #f60 url(qiuweiguan.gif) no-repeat center center;}

</style>

<script type="text/javascript">

var $$ = function (id) {

return document.getElementById(id);

}
window.onload = function () {

var oBtn = $$("btn1");

var oDiv = $$("div1");

var timer = null;

var speed = 30;

oBtn.onclick = function () {

clearInterval(timer);

timer = setInterval(function () {

speed — ;

oDiv.style.marginLeft = oDiv.offsetLeft + speed + "px";

}, 30);

}

}

</script>

</head>

<body id = "body">

<button id="btn1" class="btn1">GO</button>

<div id="div1" class="div1"></div>

</body>

</html>

注:本示例中,点击GO后,div块会一直向右做减速运动,直到速度减为零后,速度变为负值,再向左做加速运动

Javascript 相关文章推荐
防止页面被iframe(兼容IE,Firefox火狐)
Jul 04 Javascript
JavaScript 放大镜 放大倍率和视窗尺寸
May 09 Javascript
js调用后台servlet方法实例
Jun 09 Javascript
jquery实现tr元素的上下移动示例代码
Dec 20 Javascript
深入理解javascript中return的作用
Dec 30 Javascript
Javascript刷新窗口方法小结
Oct 21 Javascript
Javascript的表单验证长度
Mar 16 Javascript
客户端验证用户名和密码的方法详解
Jun 16 Javascript
用JavaScript和jQuery实现瀑布流
Mar 19 Javascript
利用Mongoose让JSON数据直接插入或更新到MongoDB
May 03 Javascript
vue解决一个方法同时发送多个请求的问题
Sep 25 Javascript
详解JavaScript 作用域
Jul 14 Javascript
javascript中HTMLDOM操作详解
Dec 11 #Javascript
javascript实现修改微信分享的标题内容等
Dec 11 #Javascript
javascript表单验证和Window详解
Dec 11 #Javascript
使用百度地图api实现根据地址查询经纬度
Dec 11 #Javascript
javascript实现倒计时N秒后网页自动跳转代码
Dec 11 #Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
Dec 10 #Javascript
node.js中的buffer.slice方法使用说明
Dec 10 #Javascript
You might like
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
2007/04/12 PHP
php连接mssql数据库的几种方法
2013/02/21 PHP
php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
2014/11/11 PHP
yii2带搜索功能的下拉框实例详解
2016/05/12 PHP
phpStudy配置多站点多域名方法及遇到的403错误解决方法
2017/10/19 PHP
PHP PDOStatement::getColumnMeta讲解
2019/02/01 PHP
List the Codec Files on a Computer
2007/06/18 Javascript
js获取GridView中行数据的两种方法 分享
2013/07/13 Javascript
使用正则表达式的格式化与高亮显示json字符串
2014/12/03 Javascript
jQuery修改class属性和CSS样式整理
2015/01/30 Javascript
超赞的jQuery图片滑块动画特效代码汇总
2016/01/25 Javascript
JS清除字符串中重复值的实现方法
2016/08/03 Javascript
js实现一个简单的数字时钟效果
2017/03/29 Javascript
ES6中Array.copyWithin()函数的用法实例详解
2017/09/16 Javascript
Vue DevTools调试工具的使用
2017/12/05 Javascript
微信小程序实现九宫格抽奖
2020/04/15 Javascript
Ant Design Vue table中列超长显示...并加提示语的实例
2020/10/31 Javascript
[49:08]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.27
2020/12/01 DOTA
举例讲解Python中的算数运算符的用法
2015/05/13 Python
python统计日志ip访问数的方法
2015/07/06 Python
浅谈Python中的闭包
2015/07/08 Python
Python3实现的字典遍历操作详解
2018/04/18 Python
python复制文件到指定目录的实例
2018/04/27 Python
基于MTCNN/TensorFlow实现人脸检测
2018/05/24 Python
Python控制Firefox方法总结
2019/06/03 Python
Django 批量插入数据的实现方法
2020/01/12 Python
自荐信模版
2013/10/24 职场文书
结婚典礼证婚词
2014/01/08 职场文书
农林环境专业求职信
2014/03/13 职场文书
保密工作目标责任书
2014/07/28 职场文书
教师演讲稿开场白
2014/08/25 职场文书
客户付款通知书
2015/04/23 职场文书
导游词创作书写原则以及开场白技巧怎么学?
2019/09/25 职场文书
2019升学宴主持词范本5篇
2019/10/09 职场文书
90条交通安全宣传标语
2019/10/12 职场文书
react 项目中引入图片的几种方式
2021/06/02 Javascript