首页 文章

在哪里放置timeout()淡出?

提问于
浏览
1

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

现在我想在5秒钟后显示淡出.msg . 我该怎么做..我试过:

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);
}

但是第一次之后这个消息就不会出现了......

2 回答

  • 0

    尝试使用 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 
    <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');
          }) 
       });
    
  • 2

    首先尝试为我们编写更清晰的代码以更好地理解您的问题,您的 $.post 的回调函数在第一个代码段的顶部缺少 }); 这些字符,并且第二个缩进是错误的 .

    然后查看这些链接以了解setTimeout的用法 .

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

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

    And to your question :

    如果您在 setTimeout(function() { 之前放置 var t = 它将按预期工作,

    希望这些有所帮助,思南 .

相关问题