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 相关文章推荐
javascript 鼠标悬浮图片显示原图 移出鼠标后原图消失(多图)
Dec 28 Javascript
jQuery插件实现文字无缝向上滚动效果代码
Feb 25 Javascript
javascript的几种继承方法介绍
Mar 22 Javascript
Web程序员必备的7个JavaScript函数
Jun 14 Javascript
js中获取 table节点各tr及td的内容简单实例
Oct 14 Javascript
Javascript中将变量转换为字符串的三种方法
Sep 19 Javascript
浅谈vue-router 路由传参的方法
Dec 27 Javascript
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
May 04 jQuery
详解es6新增数组方法简便了哪些操作
May 09 Javascript
JQuery中DOM节点的操作与访问方法实例分析
Dec 23 jQuery
jQuery 动画与停止动画效果实例详解
May 19 jQuery
js定时器出现第一次延迟的原因及解决方法
Jan 04 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 数组排序方法总结 推荐收藏
2010/06/30 PHP
php解压文件代码实现php在线解压
2014/02/13 PHP
以文件形式缓存php变量的方法
2015/06/26 PHP
JQuery打造PHP的AJAX表单提交实例
2009/11/03 Javascript
Javascript实现CheckBox的全选与取消全选的代码
2010/07/20 Javascript
JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)
2012/02/27 Javascript
利用js实现遮罩以及弹出可移动登录窗口
2013/07/08 Javascript
js实现文本框中焦点在最后位置
2014/03/04 Javascript
基于jQuery实现左右图片轮播(原理通用)
2015/12/24 Javascript
基于WebUploader的文件上传js插件
2016/08/19 Javascript
jQuery实现获取隐藏div高度的方法示例
2017/02/09 Javascript
ReactNative页面跳转Navigator实现的示例代码
2017/08/02 Javascript
解决Vue编译时写在style中的路径问题
2017/09/21 Javascript
Vue2仿淘宝实现省市区三级联动
2020/04/15 Javascript
angularjs下ng-repeat点击元素改变样式的实现方法
2018/09/12 Javascript
Vue.js中对css的操作(修改)具体方式详解
2018/10/30 Javascript
CountUp.js数字滚动插件使用方法详解
2019/10/17 Javascript
Vue+Element ui 根据后台返回数据设置动态表头操作
2020/09/21 Javascript
跟老齐学Python之不要红头文件(1)
2014/09/28 Python
详解在Python程序中自定义异常的方法
2015/10/16 Python
Python自动生产表情包
2017/03/17 Python
Python简单生成随机数的方法示例
2018/03/31 Python
Python实现简单石头剪刀布游戏
2021/01/20 Python
python监控进程状态,记录重启时间及进程号的实例
2019/07/15 Python
python实现批量nii文件转换为png图像
2019/07/18 Python
Python使用微信接入图灵机器人过程解析
2019/11/04 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
2020/02/29 Python
python3利用Axes3D库画3D模型图
2020/03/25 Python
opencv 图像滤波(均值,方框,高斯,中值)
2020/07/08 Python
美国班级戒指、帽子和礼服、毕业产品、年鉴:Balfour
2018/11/01 全球购物
巴西购物网站:Onofre Agora
2020/06/08 全球购物
会计专业毕业生自荐信范文
2013/12/20 职场文书
光棍节联谊晚会活动策划书
2014/10/10 职场文书
2014年秘书工作总结
2014/11/25 职场文书
承诺书应该怎么写?
2019/09/10 职场文书
nginx常用配置conf的示例代码详解
2022/03/21 Servers