Javascript 如何从数组中检测我单击的元素

Javascript 如何从数组中检测我单击的元素,javascript,html,Javascript,Html,我试图使这个项目,我有一堆照片。我希望这样,每当我在照片上悬停时,元素就会显示为block(默认为none)。我不知道怎么做。。我使用的所有东西都使它能够显示所有的i元素。 这是javaScript代码 JavaScript var poza = document.querySelectorAll(".poza"); var plus = document.querySelectorAll(".plus"); poza.forEach(function (e) { e.addEvent

我试图使这个项目,我有一堆照片。我希望这样,每当我在照片上悬停时,元素就会显示为block(默认为none)。我不知道怎么做。。我使用的所有东西都使它能够显示所有的i元素。 这是javaScript代码

JavaScript

var poza = document.querySelectorAll(".poza");
var plus = document.querySelectorAll(".plus");
poza.forEach(function (e) {
    e.addEventListener("mouseover", function () {
        for (var i = 0; i < plus.length; i++)
            plus[i].style.display = "block"
    })
    e.addEventListener("mouseout", function () {
        for (var i = 0; i < plus.length; i++)
            plus[i].style.display = "none"
    })
})
JavaScript
var poza=document.queryselectoral(“.poza”);
var plus=document.queryselectoral(“.plus”);
poza.forEach(功能(e){
e、 addEventListener(“鼠标悬停”,函数(){
对于(变量i=0;i
HTML
您可以使用自动执行功能实现这一点:

var poza=document.queryselectoral(“.poza”);
var plus=document.queryselectoral(“.plus”);
poza.forEach(功能(e,i){
e、 addEventListener(“鼠标悬停”),(函数(newI){
返回函数(){
加上[newI].style.display=“块”
}
})(i) )
e、 addEventListener(“鼠标输出”),(函数(newI){
返回函数(){
加上[newI].style.display=“无”
}
})(i) )
})
您可以使用自动执行功能实现这一点:

var poza=document.queryselectoral(“.poza”);
var plus=document.queryselectoral(“.plus”);
poza.forEach(功能(e,i){
e、 addEventListener(“鼠标悬停”),(函数(newI){
返回函数(){
加上[newI].style.display=“块”
}
})(i) )
e、 addEventListener(“鼠标输出”),(函数(newI){
返回函数(){
加上[newI].style.display=“无”
}
})(i) )
})

您可以做的简单技巧是在鼠标输入事件时在poza元素数组中的每个元素中添加一个类say hover效果。然后在css中使用以下规则

i {
  display: none;
}

.hover-effect+i {
 display: 'block';        
}
鼠标左键删除该类。这种方法将是整洁的


(请参阅+选择器的文档)

您可以做的简单技巧是在鼠标输入事件时在poza元素数组中的每个元素中添加一个类say hover效果。然后在css中使用以下规则

i {
  display: none;
}

.hover-effect+i {
 display: 'block';        
}
鼠标左键删除该类。这种方法将是整洁的


(请参阅+选择器的文档)

您可以从
addEventListener
作为
事件获取它。target
,一种可能的解决方案如下:

poza.forEach(函数(e){
e、 addEventListener(“鼠标悬停”,函数(事件){
event.target.style.display=“block”
})
e、 addEventListener(“鼠标输出”,函数(事件){
event.target.style.display=“无”
})
})

看看是否有帮助;D

您可以从
addEventListener
作为
事件获取它。target
,一种可能的解决方案如下:

poza.forEach(函数(e){
e、 addEventListener(“鼠标悬停”,函数(事件){
event.target.style.display=“block”
})
e、 addEventListener(“鼠标输出”,函数(事件){
event.target.style.display=“无”
})
})
看看是否有帮助;D

必须删除最内部函数的“newI”参数,否则“newI”变量将保存事件对象,而不是索引“i”。但是,使用闭包的好方法是:必须删除最内层函数的“newI”参数,否则“newI”变量将保存事件对象,而不是索引“i”。然而,使用闭包的好方法。