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 相关文章推荐
parseInt parseFloat js字符串转换数字
Aug 01 Javascript
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
Mar 14 Javascript
js函数的延迟加载实现代码
Oct 11 Javascript
JavaScript中for..in循环陷阱介绍
Nov 12 Javascript
js获取新浪天气接口的实现代码
Jun 06 Javascript
Vue2.0利用 v-model 实现组件props双向绑定的优美解决方案
Mar 13 Javascript
原生JS实现移动端web轮播图详解(结合Tween算法造轮子)
Sep 10 Javascript
浅谈Vue网络请求之interceptors实际应用
Feb 28 Javascript
jQuery实现的网站banner图片无缝轮播效果完整实例
Jan 28 jQuery
小程序实现锚点滑动效果
Sep 23 Javascript
react-router-dom 嵌套路由的实现
May 02 Javascript
详解Vue的options
May 15 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 5.3.x 的strtotime() 时区设定 警告信息修复
2013/08/05 PHP
PHP eval函数使用介绍
2013/12/08 PHP
PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
2014/05/10 PHP
PHP判断网络文件是否存在的方法
2015/03/12 PHP
PHP学习笔记(二):变量详解
2015/04/17 PHP
PHP实现的进度条效果详解
2016/05/03 PHP
JQUBAR1.1 jQuery 柱状图插件发布
2010/11/28 Javascript
在ASP.NET中使用JavaScript脚本的方法
2013/11/12 Javascript
jquery实现带二级菜单的导航示例
2014/04/28 Javascript
jquery和js实现对div的隐藏和显示方法
2014/09/26 Javascript
简单了解Backbone.js的Model模型以及View视图的源码
2016/02/14 Javascript
jQuery animate和CSS3相结合实现缓动追逐效果附源码下载
2016/04/18 Javascript
浅谈JavaScript 浏览器对象
2016/06/03 Javascript
ES6正则表达式扩展笔记
2017/07/25 Javascript
Vue中使用Sortable的示例代码
2018/04/07 Javascript
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
Vue文件配置全局变量的实例
2018/09/06 Javascript
微信小程序返回上一页传参并刷新过程解析
2019/12/13 Javascript
[09:13]DOTA2-DPC中国联赛 正赛 Ehome vs Magma 选手采访 1月19日
2021/03/11 DOTA
Python内置函数之filter map reduce介绍
2014/11/30 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
Python简单计算文件MD5值的方法示例
2018/04/11 Python
浅谈Pandas:Series和DataFrame间的算术元素
2018/12/22 Python
python实现QQ批量登录功能
2019/06/19 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
django列表筛选功能的实现代码
2020/03/27 Python
CSS3 网页下拉菜单代码解释 中文翻译
2010/02/27 HTML / CSS
美国性感内衣店:Yandy
2018/06/12 全球购物
馥绿德雅美国官方网站:Rene Furterer头皮护理专家
2019/05/01 全球购物
应届生自我鉴定
2013/12/11 职场文书
建筑施工安全生产责任书
2014/07/22 职场文书
2015公务员试用期工作总结
2014/12/12 职场文书
教师文明餐桌光盘行动倡议书
2015/04/28 职场文书
工作失职检讨书范文
2015/05/05 职场文书
幼儿园六一主持词
2015/06/30 职场文书
2019数学教师下学期工作总结
2019/06/27 职场文书