getElementsByClassName问题

时间:2015-05-25 21:43:51

标签: javascript jquery html css

我正在尝试在我的网站上展示一些团队工作人员,所以,我想展示一些小信息,比如图片和名称,然后,当你点击它时,它会弹出一个带有关于这个人的洞信息的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 [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),其他调用不显示弹出窗口,只显示transparentBox。

2 个答案:

答案 0 :(得分:0)

String userId = "73279386-5459-4316-9ff9-7c6b7b84029a"; Uri uri = Uri.parse(MyContentProvider.CONTENT_URI_USERS + "/" + userId); return new CursorLoader(getActivity(), uri, projection, null, null, null); 是我想要的,而不是$(obj[number])。所以你的fadeIn / fadeOut应该变成:$obj(number)

答案 1 :(得分:0)

我弄清楚发生了什么错误。 问题是,在我的HTML代码中,transparentBox div只覆盖了第一个弹出div,这就是其他没有出现的原因。

修正了它。感谢