带有延迟的 Javascript 弹出窗口

时间:2021-04-22 15:18:28

标签: modal-dialog popup

有谁知道我在这里做错了什么?一个简单的(测试)div。我希望它延迟自动弹出。

<div id="myModal">
<span class="close">&times;</span>
<p style="font-size: 20px; text-align: center;">My Modal</p>
</div>

<script>
function MyTest() {
document.getElementById("myModal").style.display = "block";
setTimeout(myModal, 3000);
}
var close =document.getElementsByClassName("close") [0];
close.onclick = function() {
myModal.style.display = "none";
}
</script>

2 个答案:

答案 0 :(得分:0)

document.getElementById("myModal").style.display = "block";内移动setTimeOut

<div id="myModal">
    <span class="close">&times;</span>
    <p style="font-size: 20px; text-align: center;">My Modal</p>
</div>
    
<script>
    function MyTest() {
        document.getElementById("myModal").style.display = "none";
        setTimeout(function() {
            document.getElementById("myModal").style.display = "block";
        }, 3000);
    }
    MyTest();
    
    var close = document.getElementsByClassName("close") [0];
    close.onclick = function() {
        myModal.style.display = "none";
    }
</script>

答案 1 :(得分:0)

Rupesh,非常感谢您的回复。您的编辑在超时函数内移动“X”(关闭图标)。这根本不允许显示 PopUp。但是,您引导我找到了正确答案。我在超时函数中移动了元素“myModal”并且它可以工作。以下是我所做的更改。

我已经玩了很长时间了。再次感谢!

document.getElementById("myModal");
setTimeout(function() {
myModal.style.display = "block";
}, 3000);