js简单实现点击左右运动的方法


Posted in Javascript onApril 10, 2015

本文实例讲述了js简单实现点击左右运动的方法。分享给大家供大家参考。具体分析如下:

这里可实现点击向右,方块向右移动,点击向左,方块向左移动的效果

可以用setInterval来实现过多长时间,div移动多长的距离来实现运动效果。

要点一:如果元素的左边距离小于目标距离,则是正向移动,否则是负向移动

if(run.offsetLeft <target){
speed = 2;
}else{
speed = -2;
}

要点二:如果元素的左边距离等于目标距离,停止定时器,否则,元素的左边距离等于现在的左边距离加上速度值。

if(run.offsetLeft ==target){
clearInterval(timer);
}
else{
run.style.left = run.offsetLeft +speed +"px";
}

上代码

<!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=utf-8"/>
<title>无标题文档</title>
<style>
body{margin:0; padding:0;}
#run{width:100px; height:100px; background:#06c;
position:absolute; border:1px solid #000;
left:0;}
</style>
<script>
window.onload = function(){
 var run = document.getElementById("run");
 var btn = document.getElementById("btn");
 var btn1 = document.getElementById("btn1");
 var speed = 2;
 var timer = null;
 btn.onclick = function(){
  startrun(300);
 }
 btn1.onclick = function(){
  startrun(0);
 }
 function startrun(target){
   clearInterval(timer);
  timer = setInterval(function(){
   if(run.offsetLeft <target){
    speed = 2;
   }else{
    speed = -2;
   }
   if(run.offsetLeft ==target){
    clearInterval(timer);
   }
   else{
    run.style.left = run.offsetLeft +speed +"px";
   }
  },30)
 }
}
</script>
</head>
<body>
<input id="btn" type="button" value="运动向右">
<input id="btn1" type="button" value="运动向左">
<div id="run"></div>
</body>
</html>

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

Javascript 相关文章推荐
js 通用订单代码
Dec 23 Javascript
JavaScript用JQuery呼叫Server端方法示例代码
Sep 03 Javascript
html的DOM中Event对象onabort事件用法实例
Jan 21 Javascript
PHP+MySQL+jQuery随意拖动层并即时保存拖动位置实例讲解
Oct 09 Javascript
微信小程序 Video API实例详解
Oct 02 Javascript
用node撸一个监测复联4开售短信提醒的实现代码
Apr 10 Javascript
JQuery事件委托原理与用法实例分析
May 13 jQuery
微信小程序bindtap事件与冒泡阻止详解
Aug 08 Javascript
javascript的惯性运动实现代码实例
Sep 07 Javascript
JavaScript实现文件下载并重命名代码实例
Dec 12 Javascript
浅谈JavaScript中你可能不知道URL构造函数的属性
Jul 13 Javascript
vue/cli 配置动态代理无需重启服务的方法
May 20 Vue.js
js实现透明度渐变效果的方法
Apr 10 #Javascript
js实现同一页面多个运动效果的方法
Apr 10 #Javascript
js实现同一个页面多个渐变效果的方法
Apr 10 #Javascript
js实现缓冲运动效果的方法
Apr 10 #Javascript
js实现分享到随页面滚动而滑动效果的方法
Apr 10 #Javascript
js实现同一页面多个不同运动效果的方法
Apr 10 #Javascript
js实现类似jquery里animate动画效果的方法
Apr 10 #Javascript
You might like
php的curl实现get和post的代码
2008/08/23 PHP
分享一则PHP定义函数代码
2015/02/26 PHP
php生成短域名函数
2015/03/23 PHP
php时间函数用法分析
2016/05/28 PHP
BOM与DOM的区别分析
2010/10/26 Javascript
JavaScript中的比较操作符&gt;、=、
2014/12/31 Javascript
js传值后台中文出现乱码的解决方法
2016/06/30 Javascript
Bootstrap轮播图的使用和理解4
2016/12/14 Javascript
jQuery 常见小例汇总
2016/12/14 Javascript
JavaScript获取当前时间向前推三个月的方法示例
2017/02/04 Javascript
Bootstrap 模态框(Modal)带参数传值实例
2017/08/20 Javascript
使用Vue-Router 2实现路由功能实例详解
2017/11/14 Javascript
angularJs select绑定的model取不到值的解决方法
2018/10/08 Javascript
在element-ui的select下拉框加上滚动加载
2019/04/18 Javascript
微信小程序 如何获取网络状态
2019/07/26 Javascript
JQuery中的常用事件、对象属性与使用方法分析
2019/12/23 jQuery
Js视频播放器插件Video.js使用方法详解
2020/02/04 Javascript
angula中使用iframe点击后不执行变更检测的问题
2020/05/10 Javascript
通过实例解析vuejs如何实现调试代码
2020/07/16 Javascript
vue 递归组件的简单使用示例
2021/01/14 Vue.js
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
Python中函数参数调用方式分析
2018/08/09 Python
Python模块、包(Package)概念与用法分析
2019/05/31 Python
详解python中的数据类型和控制流
2019/08/08 Python
python3 requests库文件上传与下载实现详解
2019/08/22 Python
PyCharm中配置PySide2的图文教程
2020/06/18 Python
Omio俄罗斯:一次搜索公共汽车、火车和飞机的机票
2018/11/17 全球购物
Javascript如何发送一个Ajax请求
2015/01/26 面试题
出国留学介绍信
2014/01/13 职场文书
八年级美术教学反思
2014/02/02 职场文书
环境工程专业自荐信范文
2014/03/18 职场文书
父母对孩子说的话
2014/04/12 职场文书
2015年教务工作总结
2015/05/23 职场文书
雷锋观后感
2015/06/10 职场文书
身份证丢失证明
2015/06/19 职场文书
Python图像处理之图像拼接
2021/04/28 Python