1

function checkSession(){ $.ajax({url: "session.php", success: function(data){ if( data == 1){ var postFilen = 'msg.php'; $.post(postFilen, function(data){ $(".msg").html(data).find(".message2").fadeIn("slow") }else{ $('.msg').hide(); } }}); // setInterval('checkSession()',1000);

Now i want to place to fadeout .msg after 5 seconds it has been shown. How do i do this.. i have tried:

function checkSession(){
    $.ajax({url: "session.php", success: function(data){
         if( data == 1){
            var postFilen = 'msg.php';
            $.post(postFilen, function(data){
            $(".msg").html(data).find(".message2").fadeIn("slow")
                    setTimeout(function() {
    $('.msg').fadeOut('slow');
        }, 5000);
            });  
         }else{ 
             $('.msg').hide();
         }
    }});
// setInterval('checkSession()',1000);
}

But then the message wont appear after 1st time..

4

2 に答える 2

2

delayメソッド で作業してみてください: http://api.jquery.com/delay/

 $('#foo').slideUp(300).delay(800).fadeIn(400);

あなたの場合、次のようなものです:

 $(".msg")
   .html(data)
   .find(".message2")
   .fadeIn("slow")
   .parent('.msg')
   .delay(5000)
   .fadeOut('slow')

[編集: 固定例]

[edit2: 新しい例]


これはここでうまくいくようです:

<div class="msg"></div>
<p>
    Some text <br /> <a id="bloup" href="">show message</a>
</p>

その後

   $(function() {
      $("#bloup").click(function(e) {
          e.preventDefault();

          var data = "<span class='message2'>Hello world</span>";

          $(".msg")
              .show()
              .html(data)
              .find('.message2')
              .fadeIn('slow')
              .parent('.msg')
              .delay(2000).fadeOut('slow');
      }) 
   });
于 2010-03-07T09:53:05.713 に答える
0

最初に、問題をよりよく理解できるように、よりクリーンなコードを作成してください。最初のスニペットの最後に$.postのコールバック関数がありません。2 番目のスニペットではインデントが正しくありません。});

次に、これらのリンクをチェックして、setTimeout の使用法を理解してください。

https://developer.mozilla.org/en/DOM/window.setTimeout

http://www.w3schools.com/jsref/met_win_settimeout.asp

そしてあなたの質問に:

期待どおりに機能するvar t =前に置くと、setTimeout(function() {

これらが役に立てば幸いです、シナン。

于 2010-03-07T10:17:50.347 に答える