offset.left需要什么css

时间:2011-02-07 05:58:19

标签: jquery css offset

此页面=> http://api.jquery.com/offset没有充分解释所涉及的必要CSS。我读过的大约5个问题中的任何一个都没有涉及这个主题涉及CSS问题。

1)什么CSS会导致$(this).offset.left返回'undefined'?

2)还有必要知道其他问题会使offset.left变得复杂(例如,$("object").hide()会导致offset.left返回undefined吗?等等)

我需要知道CSS会杀死offset.left以及CSS将返回正确的值。

日Thnx

2 个答案:

答案 0 :(得分:4)

$(this).offset().left将始终返回一个值。 jQuery根据浏览器呈现页面元素的框模型确定此值。

CSS提供了一种通过定义语言控制偏移值的方法,但是一旦渲染它总是有一个值。

所以你的问题的答案(以及你之前没有找到答案的原因)是jQuery和CSS都在控制/阅读底层技术。 jQuery 不是阅读CSS规则。


如果隐藏元素,则它不再是框模型的一部分,offset().left将返回值0:

DEMO: http://jsfiddle.net/9xaCe/

答案 1 :(得分:1)

您引用的页面显示:

  

jQuery不支持获取   隐藏元素的偏移坐标

如果该元素已隐藏,则我猜.offset将返回undefined。所以问题2的答案是肯定的。