我正在检查一些代码并找到这一行:
section0.top = $("#section0").position().top;
什么是section0.top
- 它是一个变量吗?我在jQuery文档中没有看到任何地方可以将.top放在变量之后。我不明白这种语法。
这是整个函数:
function calculateSections() {
windowTop = $(window).scrollTop();
section0.top = $("#section0").position().top;
}
在HTML5中,全局变量是为每个具有id
属性的元素自动创建的,这些变量名称是id
值。
因此,在没有任何显式声明的情况下,您的文档将具有 section0
变量,其值是相应的 HtmlElement
对象。因此,您引用的赋值将向该对象添加top
属性。
注意:这是与jQuery无关的行为
注意2:向 DOM 对象添加属性不被认为是最佳实践。
根据此函数文档:
https://api.jquery.com/position/
Returns an object containing the properties top and left.
这意味着选择器上的 position() 是一个 jQuery 函数,但最后它只是以这种格式返回一个 javascript 对象:
{top: 0, left: 0}
您可以添加对属性的可链接访问,在本例中top
请注意,position() 不是一个 jQuery 变量,而是一个方法。