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 相关文章推荐
Jquery AJAX 框架的使用方法
Nov 03 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
Nov 12 Javascript
jquery中get和post的简单实例
Feb 04 Javascript
javascript结合ajax读取txt文件内容
Dec 05 Javascript
微信小程序 video组件详解
Oct 25 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
Feb 13 Javascript
JavaScript两个变量交换值的实现方法
Mar 01 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
Apr 05 Javascript
简单了解TypeScript中如何继承 Error 类
Jun 21 Javascript
在vue和element-ui的table中实现分页复选功能
Dec 04 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
Sep 02 Javascript
9个JavaScript日常开发小技巧
Oct 06 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
PHP实现通过URL提取根域名
2016/03/31 PHP
Yii调试查看执行SQL语句的方法
2016/07/15 PHP
详解PHP中array_rand函数的使用方法
2016/09/11 PHP
php中引用符号(&amp;)的使用详细介绍
2016/12/06 PHP
php表单习惯用的正则表达式
2017/10/11 PHP
iframe异步加载实现点击左边菜单加载右边内容实例讲解
2013/03/04 Javascript
JavaScript设计模式之观察者模式(发布者-订阅者模式)
2014/09/24 Javascript
Javascript复制实例详解
2016/01/28 Javascript
使用NodeJs 开发微信公众号(三)微信事件交互实例
2016/03/02 NodeJs
Window.Open打开窗体和if嵌套代码
2016/04/15 Javascript
JS判断浏览器是否安装flash插件的简单方法
2016/09/13 Javascript
js事件冒泡与事件捕获详解
2017/02/20 Javascript
vue 2.0组件与v-model详解
2017/03/27 Javascript
Vue下的国际化处理方法
2017/12/18 Javascript
js原生实现移动端手指滑动轮播图效果的示例
2018/01/02 Javascript
Vue修改mint-ui默认样式的方法
2018/02/03 Javascript
vue init webpack myproject构建项目 ip不能访问的解决方法
2018/03/20 Javascript
微信小程序批量监听输入框对按钮样式进行控制的实现代码
2019/10/12 Javascript
weui上传多图片,压缩,base64编码的示例代码
2020/06/22 Javascript
python调用shell的方法
2013/11/20 Python
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
Python中用于计算对数的log()方法
2015/05/15 Python
python:接口间数据传递与调用方法
2018/12/17 Python
matlab、python中矩阵的互相导入导出方式
2020/06/01 Python
如何用python处理excel表格
2020/06/09 Python
浅谈Keras中shuffle和validation_split的顺序
2020/06/19 Python
一些关于python 装饰器的个人理解
2020/08/31 Python
python Selenium 库的使用技巧
2020/10/16 Python
CSS3制作圆形滚动进度条动画的示例
2020/11/05 HTML / CSS
客服工作职责
2013/12/11 职场文书
廉洁校园实施方案
2014/05/25 职场文书
科级干部群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
关于拾金不昧的感谢信
2015/01/21 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书
能让Python提速超40倍的神器Cython详解
2021/06/24 Python
Java实现二分搜索树的示例代码
2022/03/17 Java/Android