首先:是的,我知道我想重新发明轮子。但这不是重点。我是Javascript新手(我在学校接受过一些基本培训),我想了解不仅仅是复制和粘贴Javascript中的动画。我希望能够改变某些参数,使我的网页看起来更好。从头开始的Javascript动画
所以这里是我的问题(这可能是非常愚蠢的问题,但无论如何)。我发现这个Javascript动画教程:http://javascript.info/tutorial/animation#the-basics-of-the-animation
这正是我一直在寻找的,只是它写得很差(在我看来(我是一个完美主义者)),并不时地有点难以理解。所以我真的没有得到第7行和第8行(粗体):
function animate(opts) {
var start = new Date
var id = setInterval(function() {
var timePassed = new Date - start
var progress = timePassed/opts.duration
if (progress > 1) progress = 1
var delta = opts.delta(progress)
opts.step(delta)
if (progress == 1) {
clearInterval(id)
}
}, opts.delay || 10)
}
其他一切都是可以理解的。而我也没有得到的是德尔塔斯(我理解数学概念和东西),但我不明白如何使用它们(正确的方式来使用它们)。
如果有人足够的话,要纠正这段代码并解释我要写的第7行代码,如果我想要线性Delta,我会非常感激。我也想知道如何正确调用函数来设置动画(在这种情况下,函数move())。
function move(element, delta, duration) {
var to = 500
animate({
delay:10,
duration:duration || 1000, // 1 sec by default
delta:delta,
step:function (delta) {
element.style.left = to * delta + "px"
}
})
}
好吧,我终于明白了。我仍然不知道什么是错误的,但是我在非常仔细地重写所有内容之后设法得到它。感谢您的回答。 – user1507270 2012-07-06 17:51:08