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 相关文章推荐
Javascript 自定义类型方法小结
Mar 02 Javascript
关于jQuery中.attr()和.prop()的问题探讨
Sep 06 Javascript
Jquery getJSON方法详细分析
Dec 26 Javascript
jQuery中DOM树操作之复制元素的方法
Jan 23 Javascript
Jquery跨浏览器文本复制插件Zero Clipboard的使用方法
Feb 28 Javascript
第三篇Bootstrap网格基础
Jun 21 Javascript
vue.js 获取当前自定义属性值
Jun 01 Javascript
Node.js 基础教程之全局对象
Aug 06 Javascript
微信小程序 input输入及动态设置按钮的实现
Oct 27 Javascript
JS获取子节点、父节点和兄弟节点的方法实例总结
Jul 06 Javascript
vuejs实现折叠面板展开收缩动画效果
Sep 06 Javascript
Vue如何使用混合Mixins和插件开发详解
Feb 05 Javascript
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边学边教》(02.Apache+PHP环境配置――下篇)
2006/12/13 PHP
PHP+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
2007/02/15 PHP
PHP读取文件内容的五种方式
2015/12/28 PHP
PhpSpreadsheet设置单元格常用操作汇总
2020/11/13 PHP
IE与Firefox下javascript getyear年份的兼容性写法
2007/12/20 Javascript
javascript 的Document属性和方法集合
2010/01/25 Javascript
js实现兼容IE6与IE7的DIV高度
2010/05/13 Javascript
jquery 单击li防止重复加载的实现代码
2010/12/24 Javascript
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
2011/10/16 Javascript
50 个 jQuery 插件可将你的网站带到另外一个高度
2016/04/26 Javascript
JavaScript简单实现弹出拖拽窗口(一)
2016/06/17 Javascript
微信小程序 跳转传参数与传对象详解及实例代码
2017/03/14 Javascript
jQuery中的deferred使用方法
2017/03/27 jQuery
nodejs基于WS模块实现WebSocket聊天功能的方法
2018/01/12 NodeJs
jquery引入外部CDN 加载失败则引入本地jq库
2018/05/23 jQuery
JavaScript实现点击出现图片并统计点击次数功能示例
2018/07/23 Javascript
浅谈React之状态(State)
2018/09/19 Javascript
了解javascript中let和var及const关键字的区别
2019/05/24 Javascript
angular inputNumber指令输入框只能输入数字的实现
2019/12/03 Javascript
用PyQt进行Python图形界面的程序的开发的入门指引
2015/04/14 Python
Python模块搜索路径代码详解
2018/01/29 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
对python以16进制打印字节数组的方法详解
2019/01/24 Python
python实现图片转字符小工具
2019/04/30 Python
Python获取对象属性的几种方式小结
2020/03/12 Python
html5 冒号分隔符对齐的实现
2019/07/31 HTML / CSS
AmazeUI 加载进度条的实现示例
2020/08/20 HTML / CSS
法务专员岗位职责
2014/01/02 职场文书
班委竞选演讲稿
2014/04/28 职场文书
工作收入证明模板
2014/10/10 职场文书
餐厅感恩节活动策划方案
2014/10/11 职场文书
2014年督导工作总结
2014/11/19 职场文书
工程款申请报告
2015/05/15 职场文书
无罪辩护词范文
2015/05/21 职场文书
2015秋季开学典礼致辞
2015/07/16 职场文书
管理者们如何制定2019年的工作计划?
2019/07/01 职场文书