gpt4 book ai didi

javascript - 理解 modal.js 中未定义的方法

转载 作者:行者123 更新时间:2023-12-03 10:42:46 25 4
gpt4 key购买 nike

嘿伙计们,我正在使用 modal.js 插件,但我对以下代码行遇到了问题:

var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth

以上行可以在 git too. 上找到

offsetWidth 和 clientWidth 来自哪里,它们似乎没有在任何地方声明该插件,我还检查了 MDN 文档,它们似乎不是任何方法的名称或者函数,那么offsetWidth和clientWidth到底是什么?

另外为什么是在附加到 body 元素并从 body 中删除元素时 标签的语法不同吗?

this.$body[0].removeChild(scrollDiv);

[0] 是什么??不能是语法,只是:

this.$body.removeChild(scrollDiv);

如果我console.log this.$body,我得到

{ 0: <body.modal-open>, context: <body.modal-open>, length: 1 }

但是如果我 console.log this.$body[0] ,我得到:

<body class="modal-open">. 

如果有人能给我一个简短的解释,我将非常感激。

谢谢。

亚历山大.

最佳答案

回答有关offsetWidthclientWidth的问题

The HTMLElement.offsetWidth read-only property returns the layout width of an element. Typically, an element's offsetWidth is a measurement which includes the element borders, the element horizontal padding, the element vertical scrollbar (if present, if rendered) and the element CSS width.

您可以在 mdn 中阅读有关两者的内容.

回答有关 $body 的问题。

$body 是一个 jQuery 实例对象,因此它有自己的接口(interface),有自己的属性和方法。它包含 html 原生元素,当我说原生时,我指的是 dom 节点。 $body - jquery 元素,$body[0] - html 元素。

关于 jquery 对象的很好的解释:

A jQuery object is an array-like object that contains DOM element(s). A jQuery object can contain multiple DOM elements depending on the selector you use.

此信息取自this question .

关于javascript - 理解 modal.js 中未定义的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28701251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com