javascript - jQuery animate() - 调用非常慢

标签 javascript jquery performance animation jquery-animate

我在单页 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/

相关文章:

javascript - 在排序函数中获取当前索引

javascript - 在 Arshaw FullCalendar 中更改时区

javascript - jQuery Accordion 获取父 li

c# - 如何在像一本大书这样的巨大字符串中找到一个字符串出现的次数

php - 用于大型数组的 php in_array 替代方案,用于避免重复条目

javascript - 有没有办法在 pdf.js 中合并 PDF?

javascript - 使用包装闭包模拟 AJAX 延迟

javascript - 从页面底部开始,向上滚动,然后粘在顶部的栏

javascript - 如何将 JSON 数据转换为 HTML

c - 我怎样才能导致指令缓存未命中?