我在单页 Web 应用程序中使用 jQuery,现在需要将单个 DIV 的高度从一个固定值动画化到另一个固定值(从 ~50px 到 75px)。
我知道遇到了可怕的性能问题,令人惊讶的是,这不是关于动画本身,而是关于 animate() 方法的实际调用。
window.time = {};
time.start = new Date().getTime();
$('div').animate({height: '25px'}, 500);
time.end = new Date().getTime();
运行此代码片段,页面上所有 DIV 的动画再次流畅,但是
time.end - time.start = 190
所以动画的初始化大约需要190ms
当然,这个响应时间是 Not Acceptable 。
你们中的一些人是否遇到过这样的问题并有想法/解决方案?
提前致谢!
狮子座
最佳答案
我从来没有遇到过此类调用的性能特别糟糕的情况,但显然它会随着您动画的 div 数量而扩展,也许这就是您的问题。
如果您只想继续处理不依赖于动画的其他事情,请使用 setTimeout(function() { ... }, 0)
单独运行它。 ,完成您正在做的任何事情,当您从所在的函数返回时,它将被执行。
关于javascript - jQuery animate() - 调用非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12261257/