Jquery和ajax
我对JS和JQ很陌生,所以我想问这个基本问题。我有这样的代码: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
$(".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和溢出:无。您是否有此代码的实时视图,以便我们从那里进行检查?