Я использую Плагин jQuery jqModal.
В новинку для него, таким образом, я все еще изучаю его использование.
То, что я пытаюсь сделать, показать, что всплывающее окно для говорит 3 секунды, затем автоматически закрывается.
В основном вот поток событий, которые я хочу:
Вот то, что я имею до сих пор (это не очень):
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.
Поэтому я только что изменил свой код, чтобы сделать перезагрузку ПОСЛЕ ТОГО, КАК окно будет скрыто.
Используйте событие onShow, чтобы закрыть его после задержки (требуется jQuery 1.4+), в противном случае вы можете просто использовать тайм-ауты javascript, чтобы закрыть всплывающее окно.
var autoClose = function(hash) { $('#jqPopupModal').delay(3000).jqmHide(); };
$('#jqPopupModal').jqm({ modal: true, onShow:autoClose});