我在点击事件上通过ajax加载一些html内容。我的代码是 -
$.ajax({
url: somelink,
async: true,
beforeSend: function () {
$("#myDiv").fadeOut("slow");
$("#myDiv").empty();
},
success: function (data) {
$('#myDiv').html(data);
$("#myDiv").fadeIn("slow");
},
error: function (request, status, error) {
alert("Error");
},
complete: function () {
}
});
问题是#myDiv正在褪色两次。这有什么问题?
答案 0 :(得分:3)
似乎与实际快速显示内容的html()调用相关,然后在fadeIn启动之前再次隐藏它。如果内容未更新,则fadeIn / out按预期运行。
您可以在成功函数中使用.hide():
beforeSend: function () {
$("#myDiv").fadeOut("slow").empty();
},
success: function (data) {
$('#myDiv').hide().html("test!").fadeIn("slow");
},