我知道jQuery,例如,可以做各种动画。我也知道,在动画的核心,我必须有一些循环来做动画。这种循环的例子是什么?
理想情况下,完整答案应回答以下问题:
记住:
谢谢!
答案 0 :(得分:1)
通常(至少对于jQuery)这不是在循环中完成的,而是在一系列回调中完成的。
pseudojavascript:
function startAnimation(element, endPosition, duration) {
var startPosition = element.position;
var startTime = getCurrentTime();
function animate() {
var timeElapsed = getCurrentTime() - startTime;
if (timeElapsed > duration) {
element.position = endPosition;
stopTimer();
} else {
// interpolate based on time
element.position = startPosition +
(endPosition - startPosition) * timeElapsed / duration;
}
}
startRepeatingTimerWithCallbackAndInterval(animate, 1.0 / 30.0);
}
也可以使用对象来存储起始数据而不是闭包。
这并没有完全回答问题中的所有要点,但这是一个起点。