我试图在我的网站上显示一些团队成员,所以,我想显示一些小信息,比如图片和姓名,然后,当你点击它时,它会弹出一个div,里面有关于这个人的洞信息。
我试图通过getElementsByClassName来实现,但是,它不起作用,它只对第一个节点起作用。
我有两个div,一个名为'popup‘的div包含信息,另一个完整大小的div带有不透明度。
下面是我用来打开和关闭div的函数:
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);
}有趣的是,如果我单击第一个元素节点,它会起作用,但对其他节点不起作用(即第一个节点= obj)。对于其他的,只有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’,0)显示,其他调用不显示弹出窗口,只显示transparentBox。
发布于 2015-05-26 05:51:39
我想你要找的不是$obj(number),而是$(obj[number])。所以你的fadeIn/fadeOut应该变成:$(obj[number]).fadeIn(1000);
发布于 2015-05-27 01:34:55
我知道出了什么问题。问题是,在我的代码中,transparentBox div只覆盖了第一个弹出式div,这就是为什么其他div没有出现的原因。
修好了。谢谢
https://stackoverflow.com/questions/30446404
复制相似问题