2012-08-20 39 views
2

我已經在這上了好幾個小時,就放棄了。在計時器上打開Fancybox

我想Fancybox觸發定時器(5秒後說)。我可以在頁面加載時打開它,並在一定的秒數後關閉。然而,我在網上找到的每個例子都無法工作。下面是我使用

$(document).ready(function() { 

    $(".video").fancybox({ 
     maxWidth : 560, 
     padding  : 9, 
     maxHeight : 315, 
     fitToView : false, 
     width  : '100%', 
     height  : '100%', 
     autoSize : false, 
     closeClick : false, 
     openEffect : 'fade', 
     closeEffect : 'fade', 
afterLoad: function(){ 
    setTimeout(function() {$.fancybox.close(); },5000); 
    } 
    }); 
$('#video').trigger('click'); 
}); 

此代碼是HTML:

<a id="video" class="video fancybox.iframe" 
href="http://www.youtube.com/embed/aqut-wQ72Yk?autoplay=1&autohide=1&modestbranding=1&showinfo=0">Test</a> 

任何幫助將非常感激。

回答

2

我覺得你幾乎沒有:

$(document).ready(function() { 
    setTimeout(function(){ 
     $('#video').trigger('click'); 
     setTimeout(function(){ 
      $.fancybox.close(); 
     }, 5000) 
    }, 5000); 
}); 

在DOM準備好了,在5秒內的fancybox應該打開,然後在5秒鐘後,它應該關閉。

多一點解釋:

DOM準備簡單的說就是網頁瀏覽器做了它對你的HTML的底部。請記住,「準備好」與「加載」不是一回事,因爲即使瀏覽器一直讀取HTML文件,圖像和任何其他JavaScript仍然需要加載。

在第一個setTimeout()函數的內部,您有click觸發器,另一個setTimeout函數在5秒鐘內調用並關閉fancybox。

+0

太好了。我不明白這一點,但它的工作原理。謝謝! – Bizzaro 2012-08-20 02:00:08