ページの読み込みから5秒後にColorBoxを表示するにはどうすればよいですか?

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

  •  26-09-2019
  •  | 
  •  

質問

これが私がこれまでに持っているものですが、すぐにロードされています:

<script type="text/javascript">
var pid = <?php echo $_GET['id']; ?>;
var rlink = "<?php echo $domain; ?>share.php?pid=" + pid;
$(document).ready(function(){
    setTimeout($(".url_tag_small").colorbox({ href: rlink, width: "620px", height: "354px", opacity: 0.0, transition: "none", initialWidth: "620px", initialHeight: "354px", iframe: true, title: true, open: true}), 5000);
});
</script>

私は何が間違っているのですか?

役に立ちましたか?

解決

その時点でコールバックを実行しています setTimeout 通話は、タイマーがオフになったときではなく、初期化されます。これに変更してください:

var pid   = <?php echo $_GET['id']; ?>,
    rlink = "<?php echo $domain; ?>share.php?pid=" + pid;

$(document).ready(function(){
    setTimeout(function(){
      $(".url_tag_small").colorbox({ 
        href: rlink, 
        width: "620px", 
        height: "354px", 
        opacity: 0.0, 
        transition: "none", 
        initialWidth: "620px", 
        initialHeight: "354px", 
        iframe: true, 
        title: true, 
        open: true
      })
    }, 5000);
});

他のヒント

あなたは関数を呼んでいます 呼び出しで setTimeout カラーボックスを開く関数への参照を渡す代わりに。

$(document).ready(function(){
    setTimeout(function() {
      $(".url_tag_small").colorbox({ href: rlink, width: "620px", height: "354px", opacity: 0.0, transition: "none", initialWidth: "620px", initialHeight: "354px", iframe: true, title: true, open: true})
    }, 5000);

});

基本的に、あなたのバージョンは、「これは5000ミリ秒後にあなたがしたいことです」と言う関数を渡す代わりに、.colorboxのものと呼ばれるようにコーディングされました 電話 setTimeout.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top