小さなJavaScriptアニメーションを実行して、小さなものが正弦波に沿って移動できることを期待していdiv
ます。今のところ、水平パスは正常に機能します(直線だけ)。Y
軸の数式が間違っていることはほぼ間違いありません。私は見つけたいくつかの例でそれを修正しようとしましたが、それらのどれも私のために働きませんでした。私が試したすべての可能性で、Y
軸は無視され、小さなボックスは水平方向に直線的に移動します。
どうすればこれを修正できるので、動きは正弦波に沿って進みますか?jQueryまたはhtml5を使用すると簡単に実行できることはわかっていますが、元のコードの何が問題になっているのか疑問に思いました...可能であればこれを修正したいと思います。
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