原生JS實現各種運動之勻速運動
本文給大傢分享一個用原生JS實現的勻速運動,效果如下:
需要註意的是,這種運動效果在實際的開發中用的比較少,用的更多的還是彈性運動和緩沖運動,以下是代碼實現,歡迎大傢復制粘貼及吐槽。
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>原生JS實現各種運動之勻速運動</title> <style> #div1 { width: 100px; height: 100px; position: absolute; background: red; left: 0; top: 50px; } span { width: 1px; height: 300px; background: black; position: absolute; left: 300px; top: 0; } ; </style> <script type="text/javascript"> var timer = null; function startMove(iTarget) { var oDiv = document.getElementById('div1'); clearInterval(timer); timer = setInterval(function () { var iSpeed = 0; if (oDiv.offsetLeft < iTarget) { iSpeed = 7; } else { iSpeed = -7; } //是否到達終點 if (Math.abs(oDiv.offsetLeft - iTarget) < 7) { //到達終點 clearInterval(timer); oDiv.style.left = iTarget + 'px'; } else { //到達之前 oDiv.style.left = oDiv.offsetLeft + iSpeed + 'px'; } }, 30); } </script> </head> <body> <input type="button" value="開始運動" onclick="startMove(300)" /> <div id="div1"></div> <span></span> </body> </html>
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。