首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >getElementsByClassName问题

getElementsByClassName问题
EN

Stack Overflow用户
提问于 2015-05-26 05:43:51
回答 2查看 175关注 0票数 1

我试图在我的网站上显示一些团队成员,所以,我想显示一些小信息,比如图片和姓名,然后,当你点击它时,它会弹出一个div,里面有关于这个人的洞信息。

我试图通过getElementsByClassName来实现,但是,它不起作用,它只对第一个节点起作用。

我有两个div,一个名为'popup‘的div包含信息,另一个完整大小的div带有不透明度。

下面是我用来打开和关闭div的函数:

代码语言:javascript
复制
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:

代码语言:javascript
复制
#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。

EN

回答 2

Stack Overflow用户

发布于 2015-05-26 05:51:39

我想你要找的不是$obj(number),而是$(obj[number])。所以你的fadeIn/fadeOut应该变成:$(obj[number]).fadeIn(1000);

票数 0
EN

Stack Overflow用户

发布于 2015-05-27 01:34:55

我知道出了什么问题。问题是,在我的代码中,transparentBox div只覆盖了第一个弹出式div,这就是为什么其他div没有出现的原因。

修好了。谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30446404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档