Jquery和ajax

Jquery和ajax,ajax,jquery,Ajax,Jquery,我对JS和JQ很陌生,所以我想问这个基本问题。我有这样的代码: $(".delete").click(function() { var commentContainer = $(this).parent(); var id = $(this).attr("id"); var string = 'id='+ id ; $.ajax({ url: "<?php echo site_url('mes

我对JS和JQ很陌生,所以我想问这个基本问题。我有这样的代码:

      $(".delete").click(function() {    
    var commentContainer = $(this).parent();
    var id = $(this).attr("id");            
    var string = 'id='+ id ;
    $.ajax({   
        url: "<?php echo site_url('messages/delete') ?>",
        type: "POST",
        data: string,
        cache: false,
        success: function(){
            commentContainer.slideUp('1500', function() {$(this).remove();
                $('#messages').fadeOut('1000');
            });               
        }   
    });
    return false;
});
目前,它正如期发挥作用。但我想补充一点。id为messages的Div包含所有消息,我希望在删除消息时淡出功能正常,然后加载新数据并再次显示所有消息,而不显示已删除的消息。 另外,还有一个计数器可以计算未读消息的数量,我为ajax创建了单独的页面,但我不知道如何从淡出继续

这是单独页面中的代码:

<?php if(isset ($messages)) { ?>
    <?php foreach ($messages as $msg){ ?>
      <div class="col_3">             
<?php     
      if($msg['read'] == 0){ echo 'Status of message: Unreaded';}
      elseif($msg['read'] == 1){echo 'Status of message: Readed';}
     echo "<p>Message from: $msg[name]</p>";
     echo "<p>Sender email: $msg[email]</p>";        
     echo "<p>Message: <br />$msg[message]</p>"; ?>
     <a href="#" class="delete" id="<?php echo $msg['id'] ?>">Delete message</a>
      </div>

我编辑了一点代码,但还是什么都没有

  $(".delete").click(function() {    
    var commentContainer = $(this).parent();
    var id = $(this).attr("id");            
    var string = 'id='+ id ;
    $.ajax({   
        url: "<?php echo site_url('messages/delete') ?>",
        type: "POST",
        data: string,
        cache: false,
        success: function(){
            commentContainer.slideUp('600', function() {$(this).remove();
                $('.messages').fadeOut('2000', function(){$(this).remove();
                    $('#messages').load("<?php echo site_url('messages/show') ?>").show().fadeIn('1000');
                }); 
            });               
        }   
    });
    return false;
});

当我查看页面源代码时,我可以看到内容已经更改,但它没有显示。

我不太明白您想做什么,但如果这就是您所说的,但我不知道如何从淡出继续,您可以将回调函数设置为淡出

$('#messages').fadeOut('1000', function () {
   // Do something here
);

好吧,我想让它从上面分开读一页。我添加了这一行:$'messages'.fadeOut'1000',函数{$this.remove},因此,这种方式在插入新数据之前删除div消息,或者至少手动操作说明需要这样做。我想得到新的数据,并插入它再次在基本我有php函数,删除消息,然后它刷新页面和显示数据-我想这样做没有刷新后有可能链更多的功能。删除?您不能将回调函数置于.remove,您不需要。remove是即时的。remove调用另一个$.ajax来加载新消息。好的,到目前为止我拥有的:$'messages'。fadeOut'1000',函数{$this.remove;$.ajax{url:};,我被绊倒了,下一步该做什么???我添加了这个成功:函数{commentContainer.slideUp'600',函数{$this.remove;$'.messages.fadeOut'2000',函数{$this.remove;$'messages.load.show.fadeIn'1000';};当我查看页面源代码时,我可以看到内容已更改,但它未显示。可能容器是隐藏的显示:无或具有高度:0和溢出:无。您是否有此代码的实时视图,以便我们从那里进行检查?