当页面加载时如何自动弹出CSS3模态窗口?

4
我正在尝试弄清楚这个问题。如何让它在页面加载时起作用。
我的CSS。
.modalDialog {
    position: fixed;
    font-family: Arial, Helvetica, sans-serif;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0,0,0,0.8);
    z-index: 99999;
    opacity:0;
    -webkit-transition: opacity 400ms ease-in;
    -moz-transition: opacity 400ms ease-in;
    transition: opacity 400ms ease-in;
    pointer-events: none;
}

.modalDialog:target {
    opacity:1;
    pointer-events: auto;
}

.modalDialog > div {
    width: 400px;
    position: relative;
    margin: 10% auto;
    padding: 5px 20px 13px 20px;
    border-radius: 10px;
    background: #fff;
    background: -moz-linear-gradient(#fff, #999);
    background: -webkit-linear-gradient(#fff, #999);
    background: -o-linear-gradient(#fff, #999);
}

.close {
    background: #606061;
    color: #FFFFFF;
    line-height: 25px;
    position: absolute;
    right: -12px;
    text-align: center;
    top: -10px;
    width: 24px;
    text-decoration: none;
    font-weight: bold;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    border-radius: 12px;
    -moz-box-shadow: 1px 1px 3px #000;
    -webkit-box-shadow: 1px 1px 3px #000;
    box-shadow: 1px 1px 3px #000;
}

.close:hover { background: #00d9ff; }

而要打开弹出窗口,我们有这个链接

<a href="#openModal">Open Modal</a>

我尝试了这个技术:如何在HTML5和CSS3中制作模态窗口自动弹出,但它没有起作用...请帮忙,谢谢。
附注:我还尝试了使用jQuery在页面加载时点击链接,但那也没用 :( 这是jQuery代码。
$(window).load(function () {
$("#preloader").delay(1000).fadeOut(1000);
$('#notLoggedModalClick').click();

});


这只是CSS,请同时发布您的Jquery代码,您尝试过这个吗:window.onload = function () {$('a#openModal').click();} - egig
3个回答

9
设置一个 div
<div id="popup">
        text here...
</div>

在样式中设置 display:hidden

#popup
{
    position:absolute;
    display:none;
    top:200px;
    left:50%;
    width:500px; 
    margin-left:-250px;
    border:1px solid blue; 
    padding:20px;
    background-color:white;
}

当页面加载后,只需设置 display:block
<script type="text/javascript">
    function show_popup()
    {
      document.getElementById('popup').style.display = 'block'; 
    }

    window.onload = show_popup;
</script>

1
是的,它终于成功了。谢谢...实际上我在<a>标签内放了一个<span>标签。谢谢。 - designerNProgrammer
嗨,伙计,我正在尝试做完全相同的事情,使用相同的链接 :) 你能详细说明一下你如何使用span标签吗? - xShirase
2
嘿,XShirase,span标签的用法是这样的 <span id="someId"></span>。 - designerNProgrammer

1

load()从1.8版本开始已被弃用,我的建议:

window.onload = function (){
    $("#preloader").delay(1000).fadeOut(1000);
    $('#notLoggedModalClick').click();
}

但是最好直接触发弹出窗口,而不是点击触发器。


1

答案1有点用,在Firefox中会显示模态框,但无法正确关闭。在Chrome中,它根本不会在加载时打开。最终,即使它能够工作,它也只是重新启动动画序列并以一种不允许关闭的方式加载。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接