如何加速$ .offset()?

时间:2013-01-28 08:55:49

标签: jquery performance twitter-bootstrap

我正在使用jQuery和Bootstrap构建Backbone应用程序。

在Firefox上一切正常,但我在使用Webkit浏览器进行一些$ .offset()计算时表现得非常缓慢($ .offset需要大约250毫秒才能执行)

有没有人经历过这样的行为?

注意:应用的dom元素$ .offset被放入Bootstrap轮播和一些嵌套的折叠小部件(使用css3过渡属性......)

2 个答案:

答案 0 :(得分:2)

如果可能,您可以在该部分使用纯JavaScript吗?您可以使用getBoundingClientRect()

执行此操作
element.getBoundingClientRect();
console.log(element.top, element.right, element.bottom, element.left);

答案 1 :(得分:0)

您还可以使用原生offsetTopoffsetLeft

它们的速度要快得多,您可以通过向左侧和顶部偏移添加宽度和高度来计算右侧和底部。