js简单实现点击左右运动的方法

 更新时间:2015年04月10日 10:42:31   作者:jingangel  
这篇文章主要介绍了js简单实现点击左右运动的方法,实例分析了javascript实现左右运动的相关要点与技巧,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了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实现连续滚动字幕效果的方法

    这篇文章主要介绍了使用JavaScript实现连续滚动字幕效果的方法,文中给出了浏览器端运行的示例脚本,需要的朋友可以参考下
    2015-07-07
  • 防止文件缓存的js代码

    防止文件缓存的js代码

    原理其实就是通过在固定地址后面,加上一个不同值的日期数值,以达到地址不重复的目的,让浏览器每次都实时加载,不从缓存中读取文件
    2013-01-01
  • 详解ES6 扩展运算符的使用与注意事项

    详解ES6 扩展运算符的使用与注意事项

    扩展运算符 (spread syntax) 是 ES6 提供的一种非常便捷的新语法,给我们操作数组和对象带来了非常大的便利,我在很多文章中也提到了这个语法。但是其实扩展运算符的用法还是比较多比较杂的,我用一篇文章来做一下总结,梳理一下扩展运算的语法和使用细节。
    2020-11-11
  • 详解JS数据类型的值拷贝函数(深拷贝)

    详解JS数据类型的值拷贝函数(深拷贝)

    这篇文章主要介绍了详解JS数据类型的值拷贝函数(深拷贝)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-07-07
  • JavaScript的setter与getter方法

    JavaScript的setter与getter方法

    这篇文章主要为大家详细介绍了JavaScript的setter与getter方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • JS中的==运算: [''''] == false —>true

    JS中的==运算: [''''] == false —>true

    这篇文章主要介绍了JS中的==运算: [''] == false —>true的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • 原生JS实现分页点击控件

    原生JS实现分页点击控件

    这篇文章主要为大家详细介绍了原生JS实现分页点击控件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • 浅谈javascript中call()、apply()、bind()的用法

    浅谈javascript中call()、apply()、bind()的用法

    一直对Javascript中的apply/call/bind的用法很模糊,恰好看到了这篇文章。对三者之间的区别与联系算是有了比较清晰的认识。这里记录下来,分享给大家。
    2015-04-04
  • Javascript 检测键盘按键信息及键码值对应介绍

    Javascript 检测键盘按键信息及键码值对应介绍

    Javascript中有3个事件句柄在对应键盘的输入状态:按键被按下(按下按键但还没有抬起)、点击按键(按下并抬起按键)、按键抬起(按键抬起之后),接下来详细介绍,感兴趣的朋友可以了解下
    2013-01-01
  • 简单实现js浮动框

    简单实现js浮动框

    这篇文章主要为大家详细介绍了如何简单实现js浮动框,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12

最新评论