【问题标题】:JQuery find element by position - Firefox .position() .offest() errorJQuery 按位置查找元素 - Firefox .position() .offest() 错误
【发布时间】:2011-07-07 11:18:01
【问题描述】:

我有一个通过 JQuery 确定中间元素的滚动 DIV。我尝试使用 position()offset() 参数,在这两种情况下,Firefox 都没有得到正确的答案,而 Chrome 和 Safari 可以。

position().topoffset().top 确定容器中间元素的位置。然而,Firefox 是从滚动容器中确定它的,因此在滚动过程中总是向下而不是中间元素。

这里有 2 个小提琴,一个使用 .position(),另一个使用 .offset()

OFFSET() -- http://jsfiddle.net/pxfunc/XHPYF/7/
POSITION () -- http://jsfiddle.net/U4qyp/133/

有人知道为什么会发生这种情况或如何解决吗?

编辑 --

问题的一部分是插件 iScroll 但这是使元素工作所必需的,所以我想知道有没有办法确定容器顶部下方的 100px; 元素。

【问题讨论】:

    标签: jquery firefox position offset


    【解决方案1】:

    看起来 iScroll 使用 CSS 转换而不是传统的顶部/左侧位置。这很好,可能更优化,但似乎出于某种原因,CSS 过渡属性没有反映在 Firefox DOM 中。 (至少不在 Firebug 属性列表中。)我找不到一篇好的文章来指出它是 bug 还是故意的。

    您可以使用 iScrollers 属性来获取当前偏移量,这是驱动 CSS 转换设置的原因。

    我在 jsFiddle 上复制了您的示例,请查看。 http://jsfiddle.net/cburyta/GvPPM/9/

    对于我来说,iScroll 似乎在 IE 中不起作用(至少我链接到的示例实际上并没有滚动,尽管它似乎确实找到了中间元素,就像它正在滚动一样......奇怪。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-07
      • 2011-11-11
      • 1970-01-01
      相关资源
      最近更新 更多