Как показать div при загрузке страницы?

0

Я имею в виду следующую ссылку:

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>

Здесь задается аналогичный вопрос: как авто всплывать в режиме модального окна CSS3 при загрузке страниц?

Но это не помогает.

Я также попробовал следующие сценарии без везения:

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


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

Я должен делать что-то не так.

Есть идеи?

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

5 ответов

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);
});

Проверьте скрипт

Поскольку ОП указал, что "кнопка" Кнопка отклонения "не работает

Обновленный скрипт Демонстрация рабочей кнопки увольнения

  • 0
    Это работает, но кнопка «Закрыть» не работает.
  • 0
    Также странно то, что эффект наведения не работает.
Показать ещё 5 комментариев
0
$(window).load(function(event){
    $(".modalDialog").show();
})
  • 0
    плохая практика использовать setTimeout вы должны избавиться от него @harsha, если вы действительно не должны его использовать.
  • 0
    @ Дементик: Хорошо, но не могли бы вы дать мне знать, почему это плохая практика? Я хочу знать
Показать ещё 2 комментария
0

Чтобы вызвать событие click, используйте trigger():

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

как предложил @Charaf jra, вы должны вызвать щелчок с помощью:

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

с другой стороны, большинство шансов вы можете вызвать его при загрузке:

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

У вас непрозрачность: 0; для.modalDialog. В этом случае вам нужно использовать fadeTo вместо show.

<script type="text/javascript" language="javascript">
    $(document).ready(function() {
        $(".modalDialog").fadeTo(1,1);
    });
</script>
  • 0
    Копирование чужого ответа - нет, нет. Добро пожаловать в ТАК.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню