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代码
Mar 11 Javascript
ASP.NET jQuery 实例8 (动态添加内容到DropDownList)
Feb 03 Javascript
javascript放大镜效果的简单实现
Dec 09 Javascript
jquery ajax请求方式与提示用户正在处理请稍等
Sep 01 Javascript
jQuery使用之处理页面元素用法实例
Jan 19 Javascript
浅谈javascript获取元素transform参数
Jul 24 Javascript
JQuery自适应窗口大小导航菜单附源码下载
Sep 01 Javascript
原生JS实现拖拽图片效果
Aug 27 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
Feb 05 Javascript
Echarts之悬浮框中的数据排序问题
Nov 08 Javascript
如何检查一个对象是否为空
Apr 11 Javascript
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
Nov 27 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
关于手调机和数调机的选择
2021/03/02 无线电
window.onload 加载完毕的问题及解决方案(上)
2009/07/09 Javascript
js的表单操作 简单计算器
2011/12/29 Javascript
将字符串转换成gb2312或者utf-8编码的参数(js版)
2013/04/10 Javascript
JavaScript中访问节点对象的方法有哪些如何使用
2013/09/24 Javascript
js数组的基本用法及数组根据下标(数值或字符)移除元素
2013/10/20 Javascript
jquery xMarquee实现文字水平无缝滚动效果
2014/04/29 Javascript
jquery.hotkeys监听键盘按下事件keydown插件
2014/05/11 Javascript
JQuery遍历DOM节点的方法
2015/06/11 Javascript
纯javascript代码实现计算器功能(三种方法)
2015/09/07 Javascript
jQuery添加和删除输入文本框标签代码
2016/05/20 Javascript
AngularJS ng-style中使用filter
2016/09/21 Javascript
JS弹性运动实现方法分析
2016/12/15 Javascript
原生js实现回复评论功能
2017/01/18 Javascript
基于jQuery实现简单人工智能聊天室
2017/02/10 Javascript
微信小程序简单的canvas裁剪图片功能详解
2019/07/12 Javascript
vue 封装 Adminlte3组件的实现
2020/03/18 Javascript
Javascript实现秒表计时游戏
2020/05/27 Javascript
JS实现躲避粒子小游戏
2020/06/18 Javascript
Python中请使用isinstance()判断变量类型
2014/08/25 Python
Python简单计算给定某一年的某一天是星期几示例
2018/06/27 Python
对python判断ip是否可达的实例详解
2019/01/31 Python
python requests证书问题解决
2019/09/05 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
2020/02/23 Python
pygame实现弹球游戏
2020/04/14 Python
python dir函数快速掌握用法技巧
2020/12/09 Python
Peter Millar官网:美国高档生活服饰品牌
2018/07/02 全球购物
施华洛世奇中国官网:SWAROVSKI中国
2020/06/16 全球购物
CSS实现fullpage.js全屏滚动效果的示例代码
2021/03/24 HTML / CSS
优秀干部获奖感言
2014/01/31 职场文书
2016年小学生寒假总结
2015/10/10 职场文书
2016年校园重阳节广播稿
2015/12/18 职场文书
婚前协议书怎么写,才具有法律效力呢 ?
2019/06/28 职场文书
Go语言操作数据库及其常规操作的示例代码
2021/04/21 Golang
MySQL 8.0 驱动与阿里druid版本兼容问题解决
2021/07/01 MySQL
Go语言grpc和protobuf
2022/04/13 Golang