本文實例講述了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程式設計有所幫助。