使用Javascript测量点击次数?

时间:2017-06-18 21:22:04

标签: javascript jquery arrays onclick modal-dialog

使用JS相当新,我创建了一个图像,点击它后会弹出一个弹出模式。我在w3schools.com上关注一个例子,但我希望他们能解释他们代码的这一方面。所以弹出模式包含一个" x"点击后,将关闭模态,因为它应该。但是,当他们在JS中为取消按钮创建变量时,他们会在括号中跟随0:

var closeButton = document.getElementsByClassName("close")[0]; 
                                                           ^
                                                           ^

我的第一个问题是,你对这个包含数值的部分有什么看法?这是一个阵列吗?这用于衡量记录的点击次数(即点击后,此值将更改为[1]?)。

此外,我是否可以附加另一个变量代替该值?换句话说,如果我有可能做到以下几点?

var clicks = [0];
var closeButton = document.getElementsByClassName("close").clicks;

我想知道这个,因为我想看到如果点击按钮,我会在同一网站的其他模态上使用相同的取消按钮。通过这个,我的意思是我想将点击值更改回[0],因此它对其他模态的工作方式相同(截至目前,取消按钮仅适用于第一个模态,并且它不会关闭其他的。我相信这是因为我不会回到[0])。

对不使用正确术语表示歉意;这是我问这个问题的主要原因之一。括号[0]中的值是什么?它是否衡量点击次数?当我想对其他模态执行相同的操作时,如何更改其值以使其返回[0]?任何和所有的帮助将非常感激,因为我对此很新。

3 个答案:

答案 0 :(得分:1)

var closeButton = document.getElementsByClassName("close")[0]; 

“getElemetsByClassName”将返回一个数组。通过在结尾处使用“[0]”,它只是说我想在closeButton上存储此数组的第一个位置。

如果页面上只有一个“.close”,则返回的是 - >> [元件]。 如果有多个 - >>> [元素,元素......]

答案 1 :(得分:1)

函数 getElementsByClassName [name] 返回包含 [name] 作为类名的所有元素的数组。因为在这个例子中只有一个具有此特定类名的元素(或者他们知道它们只需要数组的第一个元素),所以附加了索引[0],返回该数组的第一个元素。因此,除了使用“close”类创建更多元素之外,更改索引是没有意义的。此外,索引与点击次数或用户互动无关。

希望这能回答你的问题^^

答案 2 :(得分:0)

括号中的值表示数组的索引。

本声明:

document.getElementsByClassName("close")

返回文档中的元素数组,类名为“close”。如果有多个关闭按钮,它将返回所有这些元素的数组。

在该语句的末尾添加[0]意味着您正在选择数组起始索引处的元素(数组中的第一个元素)。

您可以将其更改为[1],它会选择该数组中的第二个元素,但在这种情况下,这对您没有帮助。

如果您想使用相同的关闭按钮关闭多个模态,并且只有一个关闭按钮,其类名称为“close”,则始终可以选择该按钮:

document.getElementsByClassName("close")[0]