简体   繁体   English

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

[英]How to show div on page load?

I am referring to following link: 我指的是以下链接:

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

Here, the div ( modal window ) is loaded after clicking on the link. 在此,单击链接后将加载div(模态窗口)。 I am trying to get rid of that link and open that modal on page load. 我试图摆脱该链接,并在页面加载时打开该模式。

My code is as follows: Everything is same except I have added scripts and removed the link 我的代码如下:除添加脚本并删除链接外,其他所有内容均相同

<!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>

Similar question is asked here: How to Auto Popup a CSS3 Modal Window When Page Loads? 这里提出类似的问题: 页面加载时如何自动弹出CSS3模式窗口?

But its not helping. 但它没有帮助。

I have also tried following scripts without any luck: 我也尝试了以下脚本,但没有任何运气:

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


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

I must be doing something wrong here. 我在这里一定做错了。

Any ideas? 有任何想法吗?

The problem is that .show() is not changing the opacity of $("#openModal") 问题是.show()不会更改$("#openModal")的不透明度

do

$(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 查看小提琴

As the OP pointed out the "dismiss Model Button" was not working 正如OP指出的那样,“关闭模型按钮”无效

Updated Fiddle Demostrating a working dismiss button 更新了Fiddle Demostating一个工作解雇按钮

as @Charaf jra suggested, you should trigger the click with: 如@Charaf jra建议,您应使用以下命令触发点击:

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

on the other hand, most of the chances are you can trigger it onload with: 另一方面,大多数机会是您可以通过以下方式触发它的加载:

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

To trigger click event , use trigger() : 要触发click事件,请使用trigger()

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

You have opacity: 0; 您有不透明度:0; for .modalDialog. 用于.modalDialog。 In this case you need to use fadeTo instead of show. 在这种情况下,您需要使用fadeTo而不是show。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM