2

私はこれを何時間も続けて、ただあきらめました。

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>

どんな助けでも大歓迎です。

4

1 に答える 1

2

私はあなたがほとんどそこにいたと思います:

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

DOMの準備ができている場合、5秒以内にファンシーボックスが開き、5秒後に閉じます。

もう少し説明:

DOM対応とは、単にWebブラウザーがHTMLの最下部に到達したことを意味します。ブラウザがHTMLを完全に読み取った後でも、画像と追加のJavaScriptをロードする必要があるため、「準備完了」は「ロード済み」と同じではないことに注意してください。

最初のsetTimeout()関数の中には、clickトリガーsetTimeoutと、5秒で呼び出されてファンシーボックスを閉じる別の関数があります。

于 2012-08-20T01:47:48.920 に答える