簡體   English   中英

多個div彈出窗口

[英]Multiple div popups

我有一個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>

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

演示

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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM