JavaScript运动减速效果实例分析


Posted in Javascript onAugust 04, 2015

本文实例讲述了JavaScript运动减速效果。分享给大家供大家参考。具体如下:

这段代码可帮助利用JS从事游戏编程的朋友,它主要实现一种运行减速缓冲的效果,代码精简,很不错。

运行效果如下图所示:

JavaScript运动减速效果实例分析

具体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>JavaScript运动减速效果</title>
</head>
<body>
<div style=" position:relative; border:1px solid #000000; width:550px; height:50px;">
<div id="aa" style="width:50px; height:50px; background:#930; position:absolute;"></div>
</div>
<div id="x"></div>
<div style=" position:relative; border:1px solid #000000; width:550px; height:50px;">
<div id="bb" style="width:50px; height:50px; background:#0000FF; position:absolute;"></div>
</div>
<div id="y"></div>
<script>
var $ = function (id) {
 return "string" == typeof id ? document.getElementById(id) : id;
};
var ss = 0;
var s = 500;
var tt = 300;
var a = 2*s/(tt*tt);
var o = $("aa");
var i = 0;
var t = 0;
function run(){
 t++;
 i = parseInt((a*tt)*t - .5 * a * (t*t));
 if(i>=s){ o.style.left = ss + s + "px"; return; }
 o.style.left = ss + i + "px";
 $("x").innerHTML+=i+",";
 setTimeout(run, 10);
}
run();
var s2 = 500;
var o2 = $("bb");
var i2 = 0;
function run2(){
 var s = (s2-i2)/100;
 if(s>0 && s < 1){ s=1; };
 if(s==0 || i2 + s>=s2){ o2.style.left = ss + s2 + "px"; return; }
 o2.style.left = ss + i2 + s + "px";
 i2=i2 + s;
 $("y").innerHTML+=parseInt(i2 + s)+",";
 setTimeout(run2, 10);
}
run2();
</script>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
基于jQuery的弹出消息插件 DivAlert之旅(一)
Apr 01 Javascript
当鼠标滑过文本框自动选中输入框内容的JS代码分享
Nov 26 Javascript
深入理解javascript构造函数和原型对象
Sep 23 Javascript
使用node.js 制作网站前台后台
Nov 13 Javascript
Node.js中的流(Stream)介绍
Mar 30 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
Jun 19 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
Nov 30 Javascript
详解JavaScript 中的 replace 方法
Jan 01 Javascript
Jquery中map函数的用法
Jun 03 Javascript
socket.io实现在线群聊功能
Apr 07 Javascript
vue cli使用融云实现聊天功能的实例代码
Apr 19 Javascript
简单了解vue.js数组的常用操作
Jun 17 Javascript
JavaScript仿静态分页实现方法
Aug 04 #Javascript
JavaScript实现选择框按比例拖拉缩放的方法
Aug 04 #Javascript
Javascript实现可旋转的圆圈实例代码
Aug 04 #Javascript
JavaScript数组各种常见用法实例分析
Aug 04 #Javascript
基于Jquery实现表单验证
Jul 20 #Javascript
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
Aug 04 #Javascript
jq实现左侧显示图片右侧文字滑动切换效果
Aug 04 #Javascript
You might like
PHP实现的增强性mhash函数
2015/05/27 PHP
PHP接入微信H5支付的方法示例
2019/10/28 PHP
关于window.pageYOffset和document.documentElement.scrollTop
2011/04/05 Javascript
jquery地址栏链接与a标签链接匹配之特效代码总结
2015/08/24 Javascript
JS实现状态栏跑马灯文字效果代码
2015/10/24 Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
2016/07/12 Javascript
Javascript日期格式化format函数的使用方法
2016/08/30 Javascript
js倒计时小实例(多次定时)
2016/12/08 Javascript
javascript数组去重方法分析
2016/12/15 Javascript
ES2015 Symbol 一种绝不重复的值
2016/12/25 Javascript
jquery dialog获取焦点的方法
2017/02/09 Javascript
JS中的Replace()传入函数时的用法详解
2017/09/11 Javascript
react-native封装插件swiper的使用方法
2018/03/20 Javascript
layui点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法
2019/09/25 Javascript
VUE 组件转换为微信小程序组件的方法
2019/11/06 Javascript
小程序跨页面交互的作用与方法详解
2020/01/07 Javascript
ES6函数和数组用法实例分析
2020/05/23 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
[01:07:34]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第二场 1月9日
2021/03/11 DOTA
[01:30:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第二场 2月2日
2021/03/11 DOTA
Python设计模式之单例模式实例
2014/04/26 Python
用Python解决计数原理问题的方法
2016/08/04 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
windows下python 3.6.4安装配置图文教程
2018/08/21 Python
python地震数据可视化详解
2019/06/18 Python
python 中的列表生成式、生成器表达式、模块导入
2019/06/19 Python
python开启debug模式的方法
2019/06/27 Python
html5 Canvas画图教程(4)—未闭合的路径及渐变色的填充方法
2013/01/09 HTML / CSS
工作中个人的自我评价
2013/12/31 职场文书
集团薪酬管理制度
2014/01/13 职场文书
家长给孩子的表扬信
2014/01/17 职场文书
竞选劳动委员演讲稿
2014/04/28 职场文书
市场策划求职信
2014/08/07 职场文书
2019餐饮行业创业计划书!
2019/06/27 职场文书
简短的36句中秋节祝福信息语句
2019/09/09 职场文书
MySQL8.0 Undo Tablespace管理详解
2022/06/16 MySQL