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 相关文章推荐
会自动逐行上升的文本框
Jun 30 Javascript
js压缩工具 yuicompressor 使用教程
Mar 31 Javascript
Js实现当前点击a标签变色突出显示其他a标签回复原色
Nov 27 Javascript
jquery 中的each()跳出循环的语句
May 23 Javascript
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
Oct 10 Javascript
js实现一键复制功能
Mar 16 Javascript
Vue.js实现文章评论和回复评论功能
May 30 Javascript
jQuery选择器_动力节点Java学院整理
Jul 05 jQuery
关于vuejs中v-if和v-show的区别及v-show不起作用问题
Mar 26 Javascript
深入浅析var,let,const的异同点
Aug 07 Javascript
使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)
Jun 05 Javascript
vue+iview分页组件的封装
Nov 17 Vue.js
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.ini中文版(1)
2006/10/09 PHP
桌面中心(一)创建数据库
2006/10/09 PHP
PHPLog php 程序调试追踪工具
2009/09/09 PHP
JavaScript中实现块作用域的方法
2010/04/01 Javascript
图片img的src不变让浏览器重新加载实现方法
2013/03/29 Javascript
可插入图片的TEXT文本框
2013/12/27 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
2014/04/02 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
JS实现复制内容到剪贴板功能兼容所有浏览器(推荐)
2016/06/17 Javascript
微信小程序 页面传参实例详解
2016/11/16 Javascript
浅谈Node.js:fs文件系统模块
2016/12/08 Javascript
JS实现图片旋转动画效果封装与使用示例
2018/07/09 Javascript
react 组件传值的三种方法
2019/06/03 Javascript
Vue动态面包屑功能的实现方法
2019/07/01 Javascript
深入浅析ng-bootstrap 组件集中 tabset 组件的实现分析
2019/07/19 Javascript
vue中的v-if和v-show的区别详解
2019/09/01 Javascript
[43:32]Winstrike vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
2013/12/06 Python
python万年历实现代码 含运行结果
2017/05/20 Python
python微信公众号开发简单流程
2018/03/23 Python
python SMTP实现发送带附件电子邮件
2018/05/22 Python
python 遍历列表提取下标和值的实例
2018/12/25 Python
python将邻接矩阵输出成图的实现
2019/11/21 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
2020/02/28 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
css3截图_动力节点Java学院整理
2017/07/11 HTML / CSS
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
2017/09/15 HTML / CSS
沙特阿拉伯排名第一的在线时尚购物应用程序:1Zillion
2020/08/08 全球购物
学生鉴定评语大全
2014/05/05 职场文书
文明之星事迹材料
2014/05/09 职场文书
2014乡镇机关党员个人对照检查材料思想汇报
2014/10/09 职场文书
群众路线自我剖析范文
2014/11/04 职场文书
科技活动总结范文
2015/05/11 职场文书
《小小的船》教学反思
2016/02/18 职场文书
表扬信范文
2019/04/22 职场文书
JavaCV实现照片马赛克效果
2022/01/22 Java/Android