javascript匀速运动实现方法分析


Posted in Javascript onJanuary 08, 2016

本文实例讲述了javascript匀速运动实现方法。分享给大家供大家参考,具体如下:

匀速运动步骤:

1. 清除定时器
2. 开启定时器
3. 运动是否完成:a、运动完成,清除定时器;b、运动未完成继续

匀速运动停止条件:距离足够近  Math.abs(当然距离-目标距离) < 最小运动距离

运行效果截图如下:

javascript匀速运动实现方法分析

div的匀速运动(简单运动)示例:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript匀速运动</title>
<style>
#div1{ width:100px; height:100px; background:red; position:absolute; top:50px; left:500px;}
span{ width:1px; height:300px; background:black; position:absolute; left:300px; top:0; display:block;}
</style>
<script>
window.onload = function()
{
 var oBtn = document.getElementById('btn1');
 var oDiv = document.getElementById('div1');
 oBtn.onclick = function()
 {
  startMove(oDiv, 300);
 };
};
var timer = null;
function startMove(obj, iTarget)
{
 clearInterval(timer);
 timer = setInterval(function(){
  var iSpeed = 0;
  if(obj.offsetLeft < iTarget)
  {
   iSpeed = 7;
  }
  else
  {
   iSpeed = -7;
  }
  if( Math.abs( obj.offsetLeft - iTarget ) < 7 )
  {
   clearInterval(timer);
   obj.style.left = iTarget + 'px';
  }
  else
  {
   obj.style.left = obj.offsetLeft + iSpeed + 'px';
  }
 }, 30);
}
</script>
</head>
<body>
<button id="btn1">移动</button>
<div id="div1"></div>
<span></span>
</body>
</html>

更多关于JavaScript运动效果相关内容可查看本站专题:《JavaScript运动效果与技巧汇总》

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

Javascript 相关文章推荐
extJs 常用到的增,删,改,查操作代码
Dec 28 Javascript
收集的10个免费的jQuery相册
Feb 26 Javascript
JQuery datepicker 使用方法
May 20 Javascript
JavaScript的原型继承详解
Feb 15 Javascript
JavaScript希尔排序、快速排序、归并排序算法
May 08 Javascript
一个炫酷的Bootstrap导航菜单
Dec 28 Javascript
兼容浏览器的js事件绑定函数(详解)
May 09 Javascript
VUE搭建手机商城心得和遇到的坑
Feb 21 Javascript
vue中typescript装饰器的使用方法超实用教程
Jun 17 Javascript
JavaScript实现简单的弹窗效果
May 19 Javascript
JavaScript手写数组的常用函数总结
Nov 22 Javascript
javascript函数式编程基础
Sep 15 Javascript
js如何改变文章的字体大小
Jan 08 #Javascript
JavaScript缓冲运动实现方法(2则示例)
Jan 08 #Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
Jan 08 #Javascript
基于javascript实现右下角浮动广告效果
Jan 08 #Javascript
jQuery数据类型小结(14个)
Jan 08 #Javascript
JS运动相关知识点小结(附弹性运动示例)
Jan 08 #Javascript
基于jquery实现图片上传本地预览功能
Jan 08 #Javascript
You might like
神族 Protoss 剧情介绍
2020/03/14 星际争霸
图书管理程序(一)
2006/10/09 PHP
php中sprintf与printf函数用法区别解析
2014/02/17 PHP
详解PHP中strlen和mb_strlen函数的区别
2014/03/07 PHP
php显示时间常用方法小结
2015/06/05 PHP
浅谈php和js中json的编码和解码
2016/10/24 PHP
浅谈PHP的数据库接口和技术
2016/12/09 PHP
laravel框架如何设置公共头和公共尾
2019/10/22 PHP
php使用Swoole实现毫秒级定时任务的方法
2020/09/04 PHP
RR vs IO BO3 第二场2.13
2021/03/10 DOTA
javascript globalStorage类代码
2009/06/04 Javascript
node.js中的fs.createReadStream方法使用说明
2014/12/17 Javascript
分享JavaScript监听全部Ajax请求事件的方法
2016/08/28 Javascript
xmlplus组件设计系列之路由(ViewStack)(7)
2017/05/02 Javascript
JavaScript实现封闭区域布尔运算的示例代码
2018/06/25 Javascript
JavaScript类的继承方法小结【组合继承分析】
2018/07/11 Javascript
详解jQuery获取特殊属性的值以及设置内容
2018/11/14 jQuery
记录一次完整的react hooks实践
2019/03/11 Javascript
vue基础之模板和过滤器用法实例分析
2019/03/12 Javascript
selenium+java中用js来完成日期的修改
2019/10/31 Javascript
详解JavaScript原型与原型链
2020/11/16 Javascript
python操作ssh实现服务器日志下载的方法
2015/06/03 Python
Python3批量生成带logo的二维码方法
2019/06/24 Python
python的scipy实现插值的示例代码
2019/11/12 Python
HTML5 b和i标记将被赋予真正的语义
2009/07/16 HTML / CSS
美国保健品专家:Life Extension
2018/05/04 全球购物
如何利用cmp命令比较文件
2013/09/23 面试题
自愿解除劳动合同协议书
2014/09/11 职场文书
2014入党积极分子破除“四风”思想汇报
2014/09/14 职场文书
2014离婚协议书范文两篇
2014/09/15 职场文书
2014年档案室工作总结
2014/12/01 职场文书
办公室禁烟通知
2015/04/23 职场文书
雷锋的观后感
2015/06/10 职场文书
2019年入党思想汇报格式与要求
2019/06/25 职场文书
导游词之峨眉乐山/兵马俑/北京故宫御花园
2019/09/03 职场文书
Go语言特点及基本数据类型使用详解
2022/03/21 Golang