2

这是我目前所拥有的:

function animateLetter(letter, type){
    letter.css(type, '50%');
    var j = 50;
    loop(function(){
    letter.css(type, (j =- 5) + '%'); 
    return j < 0;
    });
   }

   function loop(run) {
       if(run.apply()) requestAnimationFrame(loop(run));
   }

为什么这行不通?我是 JS 新手,所以可能会遗漏一些明显的东西。

4

1 回答 1

4

loop函数在调用requestAnimationFrame.

function loop(run) {
   if(run.apply()) requestAnimationFrame(function() { loop(run) });
}

将循环调用包装在另一个函数中意味着只有在调用requestAnimationFrame回调时才会调用它。

于 2013-02-19T09:07:18.130 回答