gpt4 book ai didi

javascript - 多个 div 弹出窗口

转载 作者:行者123 更新时间:2023-11-28 08:48:10 25 4
gpt4 key购买 nike

我有一个 JavaScript 可以打开一个 DIV 作为弹出窗口。但现在我想从不同的 DIVS 打开几个不同的弹出窗口,但无法使其正常工作。

我使用以下 JavaScript:

<script>
window.onload = function()
{
var show = document.getElementById('show-div');
var hide = document.getElementById('hide-div');
var popup = document.getElementById('popup-div');

show.onclick = function(e)
{
popup.style.visibility = 'visible';
return false;
}

hide.onclick = function(e)
{
popup.style.visibility = 'hidden';
return false;
}
}
</script>

对于 div,我使用以下代码:

<a id="show-div" href="#">link</a>
<div id="popup-div">
<div id="popup-header">
<div id="popup-title">...Popup title...</div>
<a id="hide-div" href="#">X</a></div>
<div id="popup-body">
<p>This is the content of the div....</p>
</div>
</div>

这适用于 1 个链接,但即使我使用不同的 DIV ID(以及关联的 var 元素,例如“var popup1 = document.getElementById('popup-div1');”和 popup1 onclick 事件),我也无法获取它好好工作。我怎样才能让它与多个链接一起工作,并包含所有它自己的 DIV 内容。

(因为我无法回答自己的问题,以下是我的解决方法)我使用以下代码使其工作:

<script>
window.onload = function()
{
var show = document.getElementById('show-div');
var show2 = document.getElementById('show-div2');
var hide = document.getElementById('hide-div');
var hide2 = document.getElementById('hide-div2');
var popup = document.getElementById('popup-div');
var popup2 = document.getElementById('popup-div2');

show.onclick = function(e)
{
popup.style.visibility = 'visible';
return false;
}

show2.onclick = function(e)
{
popup2.style.visibility = 'visible';
return false;
}

hide.onclick = function(e)
{
popup.style.visibility = 'hidden';
return false;
}
hide2.onclick = function(e)
{
popup2.style.visibility = 'hidden';
return false;
}
}
</script>

<a id="show-div" href="#">link</a>
<div id="popup-div">
<div id="popup-header">
<div id="popup-title">...Popup title...</div>
<a id="hide-div" href="#">X</a></div>
<div id="popup-body">
<p>This is the content of the div....</p>
</div>
</div>
<a id="show-div2" href="#">link2</a>
<div id="popup-div2">
<div id="popup-header">
<div id="popup-title">...Popup title2...</div>
<a id="hide-div2" href="#">X</a></div>
<div id="popup-body">
<p>This is the content of the div2....</p>
</div>
</div>

最佳答案

我相信以下是您想要的......

Demo

JS 代码:

var show = document.getElementById('show-div');
var hides = document.getElementsByClassName('hide-div');
var popups = document.getElementsByClassName("popup-div");

show.onclick = function (e) {
for (var i = 0; i < popups.length; i++) {
popups[i].style.visibility = 'visible';
}
return false;
}

for (var j = 0; j < hides.length; j++) {
hides[j].onclick = function (e) {
this.parentNode.parentNode.style.visibility = 'hidden';
return false;
}
}

HTML 代码:

<a id="show-div" href="#">Show/Hide</a>

<div id="popup-div" class="popup-div">
<div id="popup-header">
<div id="popup-title">...Popup title...</div>
<a id="hide-div" class="hide-div" href="#">X</a>

</div>
<div id="popup-body">
<p>This is the content of the div....</p>
</div>
</div>
<div id="popup-div" class="popup-div">
<div id="popup-header">
<div id="popup-title">...Popup title...</div>
<a id="hide-div" class="hide-div" href="#">X</a>

</div>
<div id="popup-body">
<p>This is the content of the div....</p>
</div>
</div>

关于javascript - 多个 div 弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19494667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com