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的设计模式
Nov 22 Javascript
LazyForm jQuery plugin 定制您的CheckBox Radio和Select
Oct 24 Javascript
Textbox控件注册回车事件及触发按钮提交事件具体实现
Mar 04 Javascript
js 自定义个性下拉选择框示例
Aug 20 Javascript
Jquery获取元素的父容器对象示例代码
Feb 10 Javascript
jquery ajax,ashx,json的用法总结
Feb 12 Javascript
javascript中bind函数的作用实例介绍
Sep 28 Javascript
JS动态插入并立即执行回调函数的方法
Apr 21 Javascript
HTML5+jQuery实现搜索智能匹配功能
Mar 24 jQuery
关于layui表单中按钮自动提交的解决方法
Sep 09 Javascript
一篇文章带你浅入webpack的DLL优化打包
Feb 20 Javascript
vue中三级导航的菜单权限控制
Mar 31 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面向对象程序设计之类常量用法实例
2014/08/20 PHP
在第一个input框内输入内容.textarea自动得到第一个文件框的值的javascript代码
2007/04/20 Javascript
JavaScript高级程序设计(第3版)学习笔记7 js函数(上)
2012/10/11 Javascript
jQuery事件绑定on()、bind()与delegate() 方法详解
2015/06/03 Javascript
JS实现弹性菜单效果代码
2015/09/07 Javascript
jQuery实现两款有动画功能的导航菜单代码
2015/09/16 Javascript
jquery trigger函数执行两次的解决方法
2016/02/29 Javascript
自学实现angularjs依赖注入
2016/12/20 Javascript
浅析JS抽象工厂模式
2017/12/14 Javascript
IE11下CKEditor在Bootstrap Modal中下拉问题的解决
2019/09/25 Javascript
在vue中利用全局路由钩子给url统一添加公共参数的例子
2019/11/01 Javascript
vue实现路由懒加载的3种方法示例
2020/09/01 Javascript
[43:32]Winstrike vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
在Python程序中实现分布式进程的教程
2015/04/28 Python
利用python将图片转换成excel文档格式
2017/12/30 Python
python遍历文件夹找出文件夹后缀为py的文件方法
2018/10/21 Python
Django的性能优化实现解析
2019/07/30 Python
Pycharm 2020年最新激活码(亲测有效)
2020/09/18 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
2020/01/21 Python
Python脚本导出为exe程序的方法
2020/03/25 Python
pandas使用之宽表变窄表的实现
2020/04/12 Python
使用 Python 读取电子表格中的数据实例详解
2020/04/17 Python
Python更改pip镜像源的方法示例
2020/12/01 Python
乌克兰香水和化妆品网站:Notino.ua
2018/03/26 全球购物
求网格中的黑点分布
2013/11/06 面试题
毕业自我评价范文
2013/11/17 职场文书
自动化职业生涯规划书范文
2014/01/03 职场文书
公职人员索取回扣检举信
2014/04/04 职场文书
协议书模板
2014/04/23 职场文书
领导干部廉政自律承诺书
2014/05/26 职场文书
2014年客服工作总结范文
2014/11/13 职场文书
故宫导游词
2015/01/31 职场文书
预备党员自我评价范文
2015/03/04 职场文书
求职推荐信范文
2015/03/27 职场文书
2019已经过半,你知道年中工作总结该怎么写吗?
2019/07/03 职场文书
导游词之无锡华莱坞
2019/12/02 职场文书