2012-02-18 9 views
1

私は遅延を伴うページロードで3つのdivをフェードインさせています。ボタンを押したときの逆順で、どのように消していくのですか?ページがロードで示された逆の順序でdivをフェードアウトさせるには

jQuery(document).ready(function() { 
     $("div#helloitsdan").fadeIn(700).delay(2000); 
     $("div#line").delay(700).fadeIn(700); 
     $("div#enter_site").delay(1000).fadeIn(700); 
    }); 

$("a#click").click(function() { 
      $("div#enter_site").fadeOut(80).delay(100); 
      $("div#line").delay(50).fadeOut(80); 
      $("div#helloitsdan").delay(70).fadeOut(80); 
     }); 

答えて

1

まず、init関数内にすべてのコード(グローバルには必要ない)を保持する必要があります。これにより、DOMが準備完了したときにclickイベントが確実にフックされます。その後、すべてのアニメーション機能はonFinish関数コールバックを持っていないので、そのように、それを使用します。

jQuery(document).ready(function() { 

    $("div#helloitsdan").fadeIn(700).delay(2000); 
    $("div#line").delay(700).fadeIn(700); 
    $("div#enter_site").delay(1000).fadeIn(700); 

    $("a#click").click(function() { 
    var href = $(this).attr('href'); 

    $("div#enter_site").fadeOut(80); 
    $("div#line").delay(50).fadeOut(80); 
    $("div#helloitsdan").delay(70).fadeOut(80, function() { 
     window.location.href = href; // redirect now 
    }); 

    return false; // do not redirect from the click now 
    }); 
}); 
0

が、その後、アレイを介しにdiv年代を渡してみ後方それを反復リダイレクトする前に、私はまた遊んで終了するアニメーションを必要としています。また、あなたのリダイレクトはいつ来るのですか?

+0

こんにちは、返信ありがとうございます。リダイレクトは、ボタンがクリックされたときに発生します。 – Farreal

+0

コードのどこにありますか? – Tim

0

​​は、クリック・ボタン・イベントで効果を消すには、より効果的です。

0

あなたはフェードアウト()メソッドのコールバック関数を使用することができます。

$('div').fadeOut(80, function() { 
    $('div2').fadeOut(80, function() { 
     $('div3').fadeOut(80); 
    }); 
}); 

構文が正しいとは限りませんが、そのようなものです。

フェードアウトの使用例:http://api.jquery.com/fadeOut/

関連する問題