如何在页面加载时显示div?

时间:2013-12-15 20:19:39

标签: javascript jquery css html

我指的是以下链接:

http://netdna.webdesignerdepot.com/uploads7/creating-a-modal-window-with-html5-and-css3/demo.html

这里,点击链接后加载div(模态窗口)。 我试图摆脱该链接并在页面加载时打开该模式。

我的代码如下: 一切都是一样的,除了我添加了脚本并删除了链接

<!DOCTYPE html>
<html>
<head>
    <title>Modal Window</title>
    <style type="text/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;
        }
    </style>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

    <script type="text/javascript" language="javascript">
        $(document).ready(function() {
            $("#openModal").show();
        });
    </script>

</head>
<body>
    <div id="openModal" class="modalDialog">
        <div>
            <a href="#close" title="Close" class="close">X</a>
            <h2>
                Modal Box</h2>
            <p>
                This is a sample modal box that can be created using the powers of CSS3.</p>
            <p>
                You could do a lot of things here like have a pop-up ad that shows when your website
                loads, or create a login/register form for users.</p>
        </div>
    </div>
</body>
</html>

此处提出类似问题:How to Auto Popup a CSS3 Modal Window When Page Loads?

但它没有帮助。

我也试过没有运气的脚本:

$(document).ready(function() {
    $("#openModal").click();
});


$(document).ready(function() {
    $(".modalDialog").show();
});

我必须在这里做错事。

有什么想法吗?

5 个答案:

答案 0 :(得分:1)

问题是.show()没有改变$("#openModal")

的不透明度

$(document).ready(function() { 
    // the first arg is duration of the effect, second is the opacity to end at
    $("#openModal").fadeTo(500, 1);
});

Check out the Fiddle

由于OP指出“解雇模型按钮”无法正常工作

Updated Fiddle Demostrating a working dismiss button

答案 1 :(得分:0)

正如@Charaf jra所说, 你应该用以下方式触发点击:

$(document).ready(function() { $("#openModal").trigger('click'); });
另一方面,

大多数机会是你可以通过以下方式触发它:

$(document).ready(function() { $(".modalDialog").modal() }

答案 2 :(得分:0)

$(window).load(function(event){
    $(".modalDialog").show();
})

答案 3 :(得分:0)

要触发点击事件,请使用trigger()

$(document).ready(function() { 
    $("#openModal").trigger('click'); 
}); 

答案 4 :(得分:-2)

你有不透明度:0;对于.modalDialog。在这种情况下,您需要使用fadeTo而不是show。

<script type="text/javascript" language="javascript">
    $(document).ready(function() {
        $(".modalDialog").fadeTo(1,1);
    });
</script>