此页面=> 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
答案 0 :(得分:4)
$(this).offset().left
将始终返回一个值。 jQuery根据浏览器呈现页面元素的框模型确定此值。
CSS提供了一种通过定义语言控制偏移值的方法,但是一旦渲染它总是有一个值。
所以你的问题的答案(以及你之前没有找到答案的原因)是jQuery和CSS都在控制/阅读底层技术。 jQuery 不是阅读CSS规则。
如果隐藏元素,则它不再是框模型的一部分,offset().left
将返回值0:
答案 1 :(得分:1)
您引用的页面显示:
jQuery不支持获取 隐藏元素的偏移坐标
如果该元素已隐藏,则我猜.offset
将返回undefined
。所以问题2的答案是肯定的。