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 相关文章推荐
jquery 表单进行客户端验证demo
Aug 24 Javascript
js 实现css风格选择器(压缩后2KB)
Jan 12 Javascript
jQuery仿淘宝网产品品牌隐藏与显示效果
Sep 01 Javascript
JavaScript实现的经典文件树菜单效果
Sep 08 Javascript
jquery模拟实现鼠标指针停止运动事件
Jan 12 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
May 17 Javascript
JS按钮闪烁功能的实现代码
Jul 21 Javascript
vue加载完成后的回调函数方法
Sep 07 Javascript
vue.js自定义组件directives的实例代码
Nov 09 Javascript
微信公众平台 客服接口发消息的实现代码(Java接口开发)
Apr 17 Javascript
layer.prompt使文本框为空的情况下也能点击确定的方法
Sep 24 Javascript
JS实现商品橱窗特效
Jan 09 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
PHP 开源框架22个简单简介
2009/08/24 PHP
PHP中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
javascript实现跳转菜单的具体方法
2013/07/05 Javascript
js substring从右边获取指定长度字符串(示例代码)
2013/12/23 Javascript
JS完整获取IE浏览器信息包括类型、版本、语言等等
2014/05/22 Javascript
JavaScript中创建字典对象(dictionary)实例
2015/03/31 Javascript
Javascript中String的常用方法实例分析
2015/06/13 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
JavaScript递归算法生成树形菜单
2017/08/15 Javascript
详解Vue路由钩子及应用场景(小结)
2017/11/07 Javascript
Vue下的国际化处理方法
2017/12/18 Javascript
JavaScript实现JSON合并操作示例【递归深度合并】
2018/09/07 Javascript
深入剖析JavaScript instanceof 运算符
2019/06/14 Javascript
React组件对子组件children进行加强的方法
2019/06/23 Javascript
微信小程序之下拉列表实现方法解析(附完整源码)
2019/08/23 Javascript
js实现打字小游戏
2019/12/17 Javascript
动态实现element ui的el-table某列数据不同样式的示例
2021/01/22 Javascript
[56:00]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第二场
2018/04/10 DOTA
在Python中使用poplib模块收取邮件的教程
2015/04/29 Python
在Python中处理时间之clock()方法的使用
2015/05/22 Python
python监控文件或目录变化
2016/06/07 Python
Django视图之ORM数据库查询操作API的实例
2017/10/27 Python
Python编程中NotImplementedError的使用方法
2018/04/21 Python
python实现对指定输入的字符串逆序输出的6种方法
2018/04/26 Python
python计算auc的方法
2020/09/09 Python
把富文本的回车转为br标签
2019/08/09 HTML / CSS
Dyson加拿大官方网站:购买戴森吸尘器,风扇,冷热器及配件
2016/10/26 全球购物
Kate Spade美国官网:纽约新兴时尚品牌,以包包闻名于世
2017/11/09 全球购物
PHP解析URL是哪个函数?怎么用?
2013/05/09 面试题
动物学专业毕业生求职信
2013/10/11 职场文书
村级环境卫生整治方案
2014/05/04 职场文书
广告学专业毕业生自荐信
2014/05/28 职场文书
应届毕业生求职简历自我评价
2015/03/02 职场文书
2015年大学团支部工作总结
2015/05/13 职场文书
2015年个人实习工作总结
2015/05/28 职场文书
volatile保证可见性及重排序方法
2022/08/05 Java/Android