【发布时间】:2012-04-01 07:51:37
【问题描述】:
两次调用:
$('#add').live('click', function() {
$('.simplebox').slideUp(200, function() {
$('html, body').animate({scrollTop:140}, 350, function() {
$('#loading-add').slideDown(300, function() {
$.ajax({
type: "POST",
url: "..",
data: getDataToPost(),
cache: false,
success: function(data){
alert(data);
$('#loading-add').delay(1000).fadeOut(200, function() {
$('#successfull-add').fadeIn(200);
});
}
});
});
});
});
})
但如果我在live 事件之后立即调用 ajax,它会按时调用(应该如此):
$('#add').live('click', function() {
$.ajax({
type: "POST",
url: "..",
data: getDataToPost(),
cache: false,
success: function(data){
alert(data);
$('#loading-add').delay(1000).fadeOut(200, function() {
$('#successfull-add').fadeIn(200);
});
}
});
})
有什么想法为什么会发生?真奇怪。。
谢谢。
【问题讨论】:
-
您能更详细地解释您的问题吗?
-
我认为您可能已经遗漏了一些问题,这有点不清楚。您能否添加任何内容以使我们更好地了解您的问题?
-
jQuery $.animate() multiple elements but only fire callback once 的可能重复项 - 问题是您的
animate回调为每个元素调用一次,在本例中为html和body。仅使用body或该问题的答案。问题也可能出在其他动画方法上。 -
只是通过 ajax 调用了两个,而不是一个。
-
@FelixKling 非常感谢,效果很好,理解问题所在。如果您愿意,请将其写为答案,我会接受。
标签: javascript jquery ajax