Javascriptアナログ加速運動と減速運動コードの共有

2497 ワード

加速運動、つまり物体が動く時速度はますます速くなります.減速運動とは、物体が動く時に速度がだんだん遅くなります.今はJavascriptを使ってこの二つの効果をシミュレーションしています.原理はsetIntervalまたはsetTimeoutを使って、もう一つの要素との距離を動的に変えて、xxx.style.leftまたはxx.style.margeftを使って、運動後に速度を増加させます.このように運動の効果が現れます.減速運動は同じです.
以下は2つの例です.
加速運動




Javascript

<br> var $$ = function (id) { <br> return document.getElementById(id); <br> } <br> window.onload = function () { <br> var oBtn = $$("btn1"); <br> var oDiv = $$("div1"); <br> var timer = null; <br> var speed = 0; <br> oBtn.onclick = function () { <br> clearInterval(timer); <br> timer = setInterval(function () { <br> speed ++; <br> oDiv.style.marginLeft = oDiv.offsetLeft + speed + "px"; <br> }, 30); <br> } <br> } <br>






注:この例では、GOをクリックすると、divブロックはまっすぐ右に加速運動をします.
減速運動




Javascript

<br> var $$ = function (id) { <br> return document.getElementById(id); <br> } <p></p> <p>window.onload = function () {<br> var oBtn = $$("btn1");<br> var oDiv = $$("div1");<br> var timer = null;<br> var speed = 30;<br> oBtn.onclick = function () {<br> clearInterval(timer);<br> timer = setInterval(function () {<br> speed ― ;<br> oDiv.style.marginLeft = oDiv.offsetLeft + speed + "px";<br> }, 30);<br> }<br> }<br>






注:この例では、GOをクリックすると、divブロックは速度がゼロになるまで右に減速運動をします.速度がマイナスになり、左に加速運動をします.