我正在做一个小的 JavaScript 动画,希望它div
可以沿着正弦波移动,并且目前水平路径工作正常(只是直线)。我几乎可以肯定我的Y
轴数学公式是错误的。我试图用我找到的一些例子来纠正它,但没有一个对我有用。在我尝试的所有可能性中,Y
轴都被忽略了,小盒子只是水平直线移动。
我该如何解决这个问题,所以运动会沿着正弦波进行?我知道使用 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