我正在做一個小型的JavaScript動畫,希望div
可以沿着正弦波移動,而目前水平路徑正常工作(只是直線)。我幾乎可以肯定,我的Y
軸的數學公式是錯誤的。我試圖用我找到的一些例子來糾正它,但是他們都沒有爲我工作。在我嘗試的所有可能性中,Y
軸被忽略,小盒子在水平方向上直線移動。不應該這個JavaScript動畫產生正弦波運動?
我該如何解決這個問題,讓運動沿着正弦波走?我知道使用jQuery或使用html 5可以更簡單,但我只是想知道我的原始代碼中有什麼問題......如果可能,我寧願修復此問題。
function animate() {
xnow = item.style.left;
item.style.left = parseInt(xnow)+1+'px';
ynow = item.style.top;
item.style.top = ynow + (Math.sin((2*Math.PI*xnow)/document.width))*document.heigth;
setTimeout(animate,20);
}
完整的代碼在這裏: JSFiddle
這並不能解決您的問題,但'height'拼寫錯誤爲'heigth',如果您記錄'item.style.top'的輸出,則該值始終爲400px。 – Chase
ops ...謝謝:-)我拼錯了。無論如何,這是我不明白,爲什麼價值不會改變... –
https://developer.mozilla.org/en-US/docs/DOM/document.width – Andreas