1

私はJSを知らないので、どんな助けも大歓迎です。

ページが読み込まれてから 3 秒後に開きたいスライド トグルがあります。これは現在、スライドトグル用に持っているものです:

$(function(){
  // hide/show header
  $('#close-open-top a').bind('click', function() {
    if($('header:visible').length) {
      $('img', this).attr('src', 'img/open.png');
    } else {
      $('img', this).attr('src', 'img/close.png');
    }
    $('header').slideToggle('slow');

    return false;
  });

現在、閉じてロードされ、矢印をクリックするとドロップして開きます。ページが読み込まれてから 3 秒後に自動的に開くようにします。

4

2 に答える 2

2

準備が整ったドキュメントで次のことを試してください。

$('header').delay(3000).slideToggle('slow');

この.delay()メソッドは、アニメーション キュー内の後続のアイテムを遅延させます (アニメーション以外のメソッドを遅延させるために使用できないことに注意してください)。

または、クリック ハンドラーのすべてのコードを実行する場合 (画像 src の設定を含む)、最も簡単な方法は、3 秒の遅延後にプログラムでクリックをトリガーすることです。そのため、ドキュメント準備ハンドラーの最後に次を追加します。 (クリック ハンドラーのバインド後):

setTimeout(function() { $('#close-open-top a').trigger('click'); }, 3000);
于 2012-05-22T00:20:33.413 に答える
1

Well, I think i didn't get you totally..but maybe I can help you

to get a delay use setTimeout like:

setTimeout(function(){ $('header').slideToggle('slow');
},3000);

so inside of the function you can put the code to be executed. The second parameter has to be chosem as the milliseconds you want to be waited before the function is called. If you want to do it automatically 3 seconds after Pageload use this:

$(document).ready(function(){
    setTimeout(function(){ $('header').slideToggle('slow');
    },3000);  
});
于 2012-05-22T00:27:23.817 に答える