jqModal jQuery Plugin - كيفية تعيين المهلة على نافذة منبثقة مشروطة؟

StackOverflow https://stackoverflow.com/questions/3340327

سؤال

أنا أستخدم البرنامج المساعد jQuery jqModal.

جديد عليه ، لذلك ما زلت أتعلم كيفية استخدامه.

ما أحاول فعله هو إظهار النافذة المنبثقة لمدة 3 ثوانٍ ، ثم إغلاقها تلقائيًا.

في الأساس ، هذا هو تدفق الأحداث الذي أريده:

  1. يتم تحميل صفحتي.
  2. عرض نافذة منبثقة مشروطة تقول "جارٍ الاتصال بموقع MySite .."
  3. (بعد 3 ثوانٍ) يتم إغلاق النافذة المنبثقة المشروطة تلقائيًا.
  4. تحديث الصفحة (window.location.reload ()) ؛

هذا ما لدي حتى الآن (ليس كثيرًا):

لغة البرمجة:

<div id="jqPopupModal" style="display: none;">Connecting to My Site...</div>

شبيبة:

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

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

هل هناك حجة يمكنني تمريرها إلى وظيفة .jqmShow () لتعيين مهلة للإطار؟أم يجب عليّ الاتصال برد الاتصال onShow والقيام بمهلة ضبط بسيطة؟

سيكون من الجيد أيضًا حدوث الخطوتين 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+) ، وإلا يمكنك فقط استخدام مهلات جافا سكريبت لإغلاق النافذة المنبثقة.

var autoClose = function(hash) { $('#jqPopupModal').delay(3000).jqmHide(); }; 
$('#jqPopupModal').jqm({ modal: true, onShow:autoClose}); 
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top