js实现简单的动画(4个按钮控制图片上下左右移动)
2017-04-19 18:11
1051 查看
第一种写法,比较原始,没有精简的代码
对javascript精简的代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>小圆上下左右移动</title> <style> *{ margin: 0; padding: 0; } body{ width: 1380px; height: 720px; margin: 10px auto; border: 1px solid #000; position: relative; } #box{ width: 100px; height: 100px; border-radius: 50%; background: #f00; position: absolute; } .button{ position: absolute; right: 20px; bottom: 10px; } .button input{ width: 60px; height: 30px; line-height: 30px; border: none ; border-radius: 10px; background: #f00; margin-right: 10px; text-align: center; color: #fff; font-weight: 700px; cursor: pointer; } </style> </head> <body> <div id="box" style="left: 640px; top: 310px;"></div> <div class="button"> <input type="button" value="上" > <input type="button" value="下" > <input type="button" value="左" > <input type="button" value="右" > </div> </body> <script> var box=document.querySelector('#box'); var inputs=document.querySelectorAll('input'); var xSpeed=2; //x轴的速度 var ySpeed=2; //y轴的速度 var timer; // top inputs[0].onclick=function(){ clearInterval(timer); timer=setInterval(function(){ ySpeed=-2; xSpeed=0; var y=parseInt(box.style.top)+ySpeed; box.style.top=y+'px'; if(y<=0) clearInterval(timer); },1000/60) }; // bottom inputs[1].onclick=function(){ clearInterval(timer); timer=setInterval(function(){ ySpeed=2; xSpeed=0; var y=parseInt(box.style.top)+ySpeed; box.style.top=y+'px'; if(y>=620) clearInterval(timer); },1000/60) }; // left inputs[2].onclick=function(){ clearInterval(timer); timer=setInterval(function(){ xSpeed=-2; ySpeed=0; var x=parseInt(box.style.left)+xSpeed; box.style.left=x+'px'; if(x<=0) clearInterval(timer); },1000/60) }; //right inputs[3].onclick=function(){ clearInterval(timer); timer=setInterval(function(){ xSpeed=2; ySpeed=0; var x=parseInt(box.style.left)+xSpeed; box.style.left=x+'px'; if(x>=1280) clearInterval(timer); },1000/60) }; </script> </html>
对javascript精简的代码
<script> var inputs=document.querySelectorAll("input"); var box=document.querySelector(".box"); timer=null; input[0].onclick=function(){ active("top",-2); }; input[1].onclick=function(){ active("top",2); }; input[2].onclick=function(){ active("left",-2); }; input[3].onclick=function(){ active("left",2); }; function active(sx,speed){ clearInterval(timer); var nub=parseInt(box.style[sx]); timer=setInterval(function(){ nub+=speed; oBox.style[sx]=nub+"px"; },1000/60); } </script>
相关文章推荐
- js实现键盘的上下左右控制图片移动
- 图片的左右移动,js动画效果实现代码
- 图片的左右移动,js动画效果实现代码
- 用JS实现键盘左右键控制图片移动
- Js实现图片缩放上下左右移动效果
- js实现按键球,小球随键盘上下左右控制移动
- 简单的JS 通过点击按钮实现DIV左右移动
- Android 仿QQ菜单背景图片的左右上下移动属性动画实现
- Iframe的简单应用,js实现图片左右移动
- js实现按钮控制带有停顿效果的图片滚动
- JS实现图片滚动(无缝、平滑、上下左右滚动)效果
- JS—实现元素上下左右移动
- js实现点击上下按钮,图片向上向下循环滚动切换
- 超级简单实现内容的左右移动js+jquery+html
- silverlight中 Storyboard(动画)的使用,实现球的上下循环移动,左右移动,及旋转功能
- 属性动画图片从上移动到屏幕中间,放大图片的二倍再缩小到原来,自定义圆实现倒计时,解析数据显示,点击条目实现js交互
- js实现小方块上下左右移动
- JS实现简单移动动画函数
- 如何用图片或按钮控制IE上下滚动条的移动???
- 教你用js超简单实现页面自动控制图片的宽度和高度