Плагин jqModal jQuery - Как Установить Тайм-аут на Модальном Всплывающем окне?

Я использую Плагин jQuery jqModal.

В новинку для него, таким образом, я все еще изучаю его использование.

То, что я пытаюсь сделать, показать, что всплывающее окно для говорит 3 секунды, затем автоматически закрывается.

В основном вот поток событий, которые я хочу:

  1. Мои загрузки страницы.
  2. Покажите модальное всплывающее высказывание, "Соединяющееся с MySite.."
  3. (после 3 секунд), модальное всплывающее окно автоматически закрывается.
  4. Обновите страницу (window.location.reload ());

Вот то, что я имею до сих пор (это не очень):

HTML:


JS:

window.onload = function() {
   showPopup();
   window.location.reload();
}

function showPopup() {
   $('#jqPopupModal').jqm( { modal: true } );
   $('#jqPopupModal').jqmShow();
}

Есть ли некоторый аргумент, я могу передать .jqmShow () функцию для установки тайм-аута для окна? Или я должен сцепиться в onShow обратный вызов и сделать простой setTimeout?

Также было бы хорошо, если шаг 2 и 4 происходит асинхронно: другими словами, страница обновляется, пока всплывающее окно jQuery показывают.

Какие-либо идеи?

Править:

Хорошо, таким образом, у меня есть открытая/близкая работа задержки, но не с window.location.reload(). Помещение, которое является причинами никакая задержка для случая вообще.

Вот мой код:

function fbcPopupOnShow() {{
                $('#fbcModalPopup').show();
                window.location.reload();
                window.setTimeout(new function() {{
                    $('#fbcModalPopup').jqmHide();

                }}, 1000);
            }}

            function showFacebookConnectPopup() {{
                $('#fbcModalPopup').jqm( {{ 
                    modal: true,
                    onShow: fbcPopupOnShow
                }});

                $('#fbcModalPopup').jqmShow();
            }}

Я надеялся window.location.reload() перезагрузил бы родительское окно, ПОКА всплывающее окно показывают, не один или другой.

РЕДАКТИРОВАНИЕ 2:

Вычисленный наклон делает перезагрузку и раскрывается асинхронно, поскольку всплывающее окно jqModal не является действительно "всплывающим окном" (т.е. новое окно НЕ порождено). Это - просто скрытый DIV.

Поэтому я только что изменил свой код, чтобы сделать перезагрузку ПОСЛЕ ТОГО, КАК окно будет скрыто.

1
задан RPM1984 29 July 2010 в 00:50
поделиться

1 ответ

Используйте событие onShow, чтобы закрыть его после задержки (требуется jQuery 1.4+), в противном случае вы можете просто использовать тайм-ауты javascript, чтобы закрыть всплывающее окно.

var autoClose = function(hash) { $('#jqPopupModal').delay(3000).jqmHide(); }; 
$('#jqPopupModal').jqm({ modal: true, onShow:autoClose}); 
2
ответ дан 2 September 2019 в 22:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: