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的IE和火狐的兼容性注意事项
Mar 17 Javascript
基于JQuery的动态删除Table表格的行和列的代码
May 12 Javascript
QQ空间顶部折页撕开效果示例代码
Jun 15 Javascript
JavaScript生成随机数的4种自定义函数分享
Feb 28 Javascript
javascript弹出窗口实现代码
Nov 12 Javascript
基于JS实现数字+字母+中文的混合排序方法
Jun 06 Javascript
简单谈谈原生js的math对象
Jun 27 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
Mar 12 Javascript
jQuery实现的两种简单弹窗效果示例
Apr 18 jQuery
最简单的vue消息提示全局组件的方法
Jun 16 Javascript
jQuery实现轮播图源码
Oct 23 jQuery
JavaScript直接调用函数与call调用的区别实例分析
May 22 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 expects parameter 1 to be resource, array given 错误
2011/03/23 PHP
将博客园(cnblogs.com)数据导入到wordpress的代码
2013/01/06 PHP
修改apache配置文件去除thinkphp url中的index.php
2014/01/17 PHP
jquery图片延迟加载 前端开发技能必备系列
2012/06/18 Javascript
js使用数组判断提交数据是否存在相同数据
2013/11/27 Javascript
jQuery.parseJSON(json)将JSON字符串转换成js对象
2014/07/27 Javascript
JSON格式的键盘编码对照表
2015/01/29 Javascript
jquery实现动静态条形统计图
2015/08/17 Javascript
jQuery遍历json的方法分析
2016/04/16 Javascript
js实现获取鼠标当前的位置
2016/12/14 Javascript
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
如何能分清npm cnpm npx nvm
2019/01/17 Javascript
解决vue bus.$emit触发第一次$on监听不到问题
2020/07/28 Javascript
Python中声明只包含一个元素的元组数据方法
2014/08/25 Python
Python复制Word内容并使用格式设字体与大小实例代码
2018/01/22 Python
python argparser的具体使用
2019/11/10 Python
numpy 返回函数的上三角矩阵实例
2019/11/25 Python
新手入门学习python Numpy基础操作
2020/03/02 Python
python解析xml文件方式(解析、更新、写入)
2020/03/05 Python
如何实现在jupyter notebook中播放视频(不停地展示图片)
2020/04/23 Python
python 负数取模运算实例
2020/06/03 Python
使用css实现android系统的loading加载动画
2019/07/25 HTML / CSS
html5 拖拽及用 js 实现拖拽功能的示例代码
2020/10/23 HTML / CSS
肯尼亚网上商城:Kilimall
2016/08/20 全球购物
英国护发和美妆在线商店:Klip Shop
2019/03/24 全球购物
安德玛加拿大官网:Under Armour加拿大
2019/10/02 全球购物
Internet体系结构
2014/12/21 面试题
机关会计岗位职责
2014/04/08 职场文书
我的中国梦演讲稿300字
2014/08/19 职场文书
小学生清明节演讲稿
2014/09/05 职场文书
2014年办公室主任工作总结
2014/11/12 职场文书
优秀教育工作者事迹材料
2014/12/24 职场文书
幼儿园小班开学寄语
2015/05/27 职场文书
vue3如何优雅的实现移动端登录注册模块
2021/03/29 Vue.js
Python 制作自动化翻译工具
2021/04/25 Python
python Tkinter模块使用方法详解
2022/04/07 Python