2011-07-07 49 views
1

我有一个滚动DIV即通过JQuery确定在中间的元件。我曾尝试过使用position()offset()参数,在这两种情况下,Firefox在Chrome和Safari中都没有得到正确答案。JQuery的通过位置找到元件 - 火狐.POSITION().offest()错误

position().topoffset().top确定来自所述容器的中间元件的位置。然而,Firefox从滚动容器中确定它,并因此在滚动期间始终关闭第三个元素而不是中间元素。

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

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

任何人有任何想法,为什么这种情况正在发生或如何解决呢?

编辑 - 问题的

部分是插件iScroll但这需要作出的单元工作,所以我不知道有没有办法来确定哪些元素是100px;低于容器的顶部。

回答

1

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

可以使用iScrollers属性来获取当前虽然偏移,这是什么驱动CSS变换设置。

我叉上的jsfiddle你的榜样,检查出来。 http://jsfiddle.net/cburyta/GvPPM/9/

看来iScroll没有在IE工作对我来说(至少我联系的例子实际上不滚动,但它似乎找到像它的中间元素被滚动......奇怪。)

+0

干得好。我准备扼杀某人 –