【问题标题】:jQuery Animate Step functionjQuery Animate Step 函数
【发布时间】:2012-09-13 21:42:30
【问题描述】:

我在使用 step 函数时遇到了一些问题。我必须在 STEP 函数中调用一个复杂的函数,但我试图限制调用次数以提高性能。为了让事情变得更复杂,我正在为 2 个属性设置动画。

obj.animate({'width':newWidth+px,'height':newHeight+px},
{duration:time,queue:false,step:function(now,fx){
   complicatedFunction();
}});

该函数考虑了 OBJ 的位置/尺寸,然后计算大约 10 个其他元素的新尺寸和位置,因此间隔必须相当流畅(可能每 3 次或第 4 次迭代?)什么是最好的方法限制调用complexFunction 的次数? 谢谢:)

【问题讨论】:

    标签: javascript jquery loops jquery-animate


    【解决方案1】:

    最简单的方法是使用计数器。

    var counter = 0;
    
    obj.animate({'width':newWidth+px,'height':newHeight+px},
    {duration:time,queue:false,step:function(now,fx){
       if (counter % 4 === 0) { // run function every 4 steps
           complicatedFunction();
       }
       counter++;
    }}).promise().done(complicatedFunction);
    

    使用此方法,您还应该在.promise().done() 回调中运行它。 (更新以反映)

    【讨论】:

    • 哈哈,我都没注意到。没问题。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-20
    相关资源
    最近更新 更多