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 hasFocus使用实例
Jun 29 Javascript
javascript利用初始化数据装配模版的实现代码
Nov 17 Javascript
js操作iframe的一些方法介绍
Jun 25 Javascript
在页面上用action传递参数到后台出现乱码的解决方法
Dec 31 Javascript
基于jquery实现发送文章到手机的代码
Dec 26 Javascript
终于实现了!精彩的jquery弹幕效果
Jul 18 Javascript
vue开发心得和技巧分享
Oct 27 Javascript
移动端手指放大缩小插件与js源码
May 22 Javascript
javaScript日期工具类DateUtils详解
Dec 08 Javascript
详解Vue中watch的高级用法
May 02 Javascript
angularjs性能优化的方法
Sep 05 Javascript
解决iview多表头动态更改列元素发生的错误的方法
Nov 02 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入门
2006/10/09 PHP
php cookie的操作实现代码(登录)
2010/12/29 PHP
PHP CLI模式下的多进程应用分析
2013/06/03 PHP
CI框架实现创建自定义类库的方法
2018/12/25 PHP
PHP token验证生成原理实例分析
2019/06/05 PHP
Jjcarousellite 实现图片列表滚动的简单实例
2013/11/29 Javascript
快速解决FusionCharts联动的中文乱码问题
2013/12/04 Javascript
js常用数组操作方法简明总结
2014/06/20 Javascript
JavaScript中字符串分割函数split用法实例
2015/04/07 Javascript
PHP+jQuery+Ajax+Mysql如何实现发表心情功能
2015/08/06 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
2015/10/30 Javascript
微信小程序 wx.request(object) API详解及实例代码
2016/09/30 Javascript
详解NodeJS框架express的路径映射(路由)功能及控制
2017/03/24 NodeJs
关于vue.js过渡css类名的理解(推荐)
2017/04/10 Javascript
layui前段框架日期控件使用方法详解
2017/05/19 Javascript
详解Node.js利用node-git-server快速搭建git服务器
2017/09/27 Javascript
vue实现微信分享朋友圈,发送朋友的示例讲解
2018/02/10 Javascript
JS实现百度网盘任意文件强制下载功能
2018/08/31 Javascript
详解mpvue scroll-view自动回弹bug解决方案
2018/10/01 Javascript
抖音上用记事本编写爱心小程序教程
2019/04/17 Javascript
高性能js数组去重(12种方法,史上最全)
2019/12/21 Javascript
原生js实现下拉框选择组件
2021/01/20 Javascript
Python实现批量下载文件
2015/05/17 Python
Python实现简单字典树的方法
2016/04/29 Python
python实现闹钟定时播放音乐功能
2018/01/25 Python
python实现一个简单的udp通信的示例代码
2019/02/01 Python
三步实现Django Paginator分页的方法
2019/06/11 Python
python multiprocessing多进程变量共享与加锁的实现
2019/10/02 Python
乌克兰网上珠宝商店:GoldSoveren
2020/03/31 全球购物
求职意向书范文
2014/04/01 职场文书
党员志愿者活动总结
2014/06/26 职场文书
地震捐款倡议书
2014/08/29 职场文书
2014镇副书记群众路线专题民主生活会思想汇报
2014/09/23 职场文书
初二英语教学反思
2016/02/15 职场文书
Python函数对象与闭包函数
2022/04/13 Python
python数字图像处理:图像简单滤波
2022/06/28 Python