Javascript getElementsByClassName问题
我试图在我的网站上显示一些团队成员,所以,我想显示一些小信息,比如图片和姓名,然后,当你点击它时,它会弹出一个div,其中有关于这个人的洞信息 我试图通过getElementsByClassName来实现,但是,它不起作用,它只对第一个节点起作用 我有两个div,一个名为“popup”的div包含信息,还有一个全尺寸的div不透明度 所以,我的功能是打开和关闭div:Javascript getElementsByClassName问题,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我试图在我的网站上显示一些团队成员,所以,我想显示一些小信息,比如图片和姓名,然后,当你点击它时,它会弹出一个div,其中有关于这个人的洞信息 我试图通过getElementsByClassName来实现,但是,它不起作用,它只对第一个节点起作用 我有两个div,一个名为“popup”的div包含信息,还有一个全尺寸的div不透明度 所以,我的功能是打开和关闭div: function showWindow(className,number){ var obj = document.getEle
function showWindow(className,number){
var obj = document.getElementsByClassName(className);
$obj[number].fadeIn(1000);
var obj2 = document.getElementById('transparentBox');
obj2.style.display='block';
}
function closeWindow(className,number){
var obj = document.getElementsByClassName(className);
$obj[number].fadeOut("slow");
var obj2 = document.getElementById('transparentBox');
$(obj2).fadeOut(1000);
}
有趣的是,如果我在第一个元素节点上单击,它确实可以工作,但在另一个节点i.e上不起作用。第一个节点=obj[0]。对于其他的,只有transparentBox显示
两个div的css:
#transparentBox
{
position: fixed;
display:none;
padding:0;
margin:0;
top: 0;
left: 0;
width: 100%;
height: 100%;
background:rgba(255,255,255,0.5);
z-index: 499;
}
.popup {
position: absolute;
display:none;
top: 0;
bottom: 0;
left: 0;
right: 0;
width:700px;
padding:20px;
background-color:white;
margin: auto;
z-index:500;
overflow-y: scroll;
}
我会通过更多信息给他们打电话
但是它只显示第一个调用showWindow'popup',0,其他调用不显示popup,只显示透明框。$obj[number]是您想要的,而不是$objnumber。所以你的fadeIn/fadeOut应该变成:$obj[number].fadeIn1000 我知道出了什么问题。 问题是,在我的HTML代码中,transparentBox div只覆盖了第一个弹出div,这就是其他div没有出现的原因
修好了。谢谢您可以发布html的相关部分吗?您在哪里申报$obj?我只看到obj,而你没有在任何地方使用它。我想他想用jquery包装obj…在变量前面放一个$并不能使它成为jquery对象。如果没有完整的代码,HTML不是很清晰,但如果我正确理解为什么你不使用$this,并将对象与$this附近的类联系起来?抱歉,我已经修复了它,但它保留了同样的东西。我也修正了帖子中的代码。你用我的建议更新了你问题中的代码?我想我没有看到其中的[数字]部分。