我正在使用 jQuery 和 Bootstrap 构建一个 Backbone 应用程序。
在 Firefox 上一切正常,但我在使用 Webkit 浏览器的一些 $.offset() 计算上的性能非常缓慢($.offset 大约需要 250 毫秒才能执行)
有没有人已经经历过这种行为?
注意:应用 $.offset 的 dom 元素被放入 Bootstrap 轮播和一些嵌套的折叠小部件(使用 css3 转换属性......)
我正在使用 jQuery 和 Bootstrap 构建一个 Backbone 应用程序。
在 Firefox 上一切正常,但我在使用 Webkit 浏览器的一些 $.offset() 计算上的性能非常缓慢($.offset 大约需要 250 毫秒才能执行)
有没有人已经经历过这种行为?
注意:应用 $.offset 的 dom 元素被放入 Bootstrap 轮播和一些嵌套的折叠小部件(使用 css3 转换属性......)
如果可能的话,你能在这部分使用纯 JavaScript 吗?您可以使用getBoundingClientRect()
:
element.getBoundingClientRect();
console.log(element.top, element.right, element.bottom, element.left);
您还可以使用本机offsetTop和offsetLeft。
它们要快得多,您可以通过将宽度和高度添加到左侧和顶部偏移量来计算右侧和底部。