Jquery 在计时器上打开Fancybox

Jquery 在计时器上打开Fancybox,jquery,fancybox,Jquery,Fancybox,我已经坚持了好几个小时了,就这样放弃了 我希望Fancybox在计时器上触发(比如5秒后)。我可以让它在页面加载时打开,并在一定时间后关闭。然而,我在网上找到的每一个例子我都无法工作。这是我正在使用的代码 $(document).ready(function() { $(".video").fancybox({ maxWidth : 560, padding : 9, maxHeight : 315,

我已经坚持了好几个小时了,就这样放弃了

我希望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>


任何帮助都将不胜感激。

我想你就快到了:

$(document).ready(function() {
    setTimeout(function(){
        $('#video').trigger('click');
        setTimeout(function(){
            $.fancybox.close();
        }, 5000)
    }, 5000);
});
在DOM就绪时,fancybox应在5秒钟内打开,然后在5秒钟后关闭

再解释一下:

DOM就绪仅仅意味着web浏览器已将其置于HTML的底部。请记住,“ready”与“loaded”不是一回事,因为即使在浏览器读取整个HTML之后,图像和任何其他javascript仍然需要加载


在第一个setTimeout()函数中,您有
单击
触发器和另一个
setTimeout
函数,该函数在5秒内被调用并关闭fancybox。

太棒了。我一点也不懂,但它很管用。谢谢