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 读取XML数据,在页面中展现、编辑、保存的实现
Oct 27 Javascript
JavaScript包装对象使用介绍
Aug 29 Javascript
教你用AngularJS框架一行JS代码实现控件验证效果
Jun 23 Javascript
javascript动态修改Li节点值的方法
Jan 20 Javascript
javascript每日必学之封装
Feb 23 Javascript
JavaScript接口的实现三种方式(推荐)
Jun 14 Javascript
canvas滤镜效果实现代码
Feb 06 Javascript
JS实现不用中间变量temp 实现两个变量值得交换方法
Feb 04 Javascript
浅谈实现vue2.0响应式的基本思路
Feb 13 Javascript
react build 后打包发布总结
Aug 24 Javascript
jquery css实现流程进度条
Mar 26 jQuery
VUE项目实现主题切换的多种方法
Nov 26 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中根据变量的类型 选择echo或dump
2012/07/05 PHP
PHP转盘抽奖接口实例
2015/02/09 PHP
php读取torrent种子文件内容的方法(测试可用)
2016/05/03 PHP
WordPress中设置Post Type自定义文章类型的实例教程
2016/05/10 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
2020/05/02 PHP
jQuery $.each的用法说明
2010/03/22 Javascript
Jquery常用技巧收集整理篇
2010/11/14 Javascript
各浏览器对click方法的支持差异小结
2011/07/31 Javascript
Javascript对象中关于setTimeout和setInterval的this介绍
2012/07/21 Javascript
js取得url地址参数实例
2013/02/22 Javascript
Function.prototype.call.apply结合用法分析示例
2013/07/03 Javascript
Jquery实现显示和隐藏的4种简单方式
2013/08/28 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
2013/10/20 Javascript
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
2015/08/04 Javascript
基于jQuery实现音乐播放试听列表
2016/04/14 Javascript
js阻止浏览器默认行为的简单实例
2016/05/15 Javascript
SWFUpload多文件上传及文件个数限制的方法
2016/05/31 Javascript
微信小程序图表插件(wx-charts)实例代码
2017/01/17 Javascript
史上最全JavaScript常用的简写技巧(推荐)
2017/08/17 Javascript
在JavaScript中实现链式调用的实现
2019/12/24 Javascript
Python2.7环境Flask框架安装简明教程【已测试】
2018/07/13 Python
Python 2.7中文显示与处理方法
2018/07/16 Python
解决win64 Python下安装PIL出错问题(图解)
2018/09/03 Python
Python3爬虫使用Fidder实现APP爬取示例
2018/11/27 Python
PyCharm鼠标右键不显示Run unittest的解决方法
2018/11/30 Python
Python字符串hashlib加密模块使用案例
2020/03/10 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
2020/08/17 Python
Python 实现RSA加解密文本文件
2020/12/30 Python
详解CSS3 弹性布局快速入门
2019/06/06 HTML / CSS
护理专业推荐信
2013/11/07 职场文书
法人委托书的范本格式
2014/09/11 职场文书
领导班子遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
2014年高数考试作弊检讨书
2014/12/14 职场文书
2019开业庆典剪彩仪式主持词!
2019/07/22 职场文书
Python使用pandas导入csv文件内容的示例代码
2022/12/24 Python