Jquery 由于页面重新加载,通知消息(淡出)立即消失
我正在进行一个ajax调用并通知用户,如下所示Jquery 由于页面重新加载,通知消息(淡出)立即消失,jquery,Jquery,我正在进行一个ajax调用并通知用户,如下所示 $( document ).ready(function() { var response = true ; if(response) { $(".success").html('<strong>Success!</strong>Value Updated Successfully !!!').fadeIn(800).delay(1500).fadeOut(800);
$( document ).ready(function() {
var response = true ;
if(response)
{
$(".success").html('<strong>Success!</strong>Value Updated Successfully !!!').fadeIn(800).delay(1500).fadeOut(800);
window.location.reload();
}
});
$(文档).ready(函数(){
var响应=真;
如果(答复)
{
$(“.success”).html(“success!Value更新成功!!!”).fadeIn(800).delay(1500).fadeOut(800);
window.location.reload();
}
});
问题是通知信息会立即消失
只有在淡出成功完成后才能重新加载页面吗
改变
$(".success").html('<strong>Success!</strong>Value Updated Successfully !!!').fadeIn(800).delay(1500).fadeOut(800);
window.location.reload();
$(“.success”).html(“成功!值已成功更新!!!”).fadeIn(800).delay(1500).fadeOut(800);
window.location.reload();
到
$(“.success”).html(“成功!值已成功更新!!!”).fadeIn(800).delay(1500).fadeOut(800,函数(){
window.location.reload();
});
在中,您可以找到您的案例:
.fadeOut([持续时间],[完成])
完成
动画完成后调用的函数(…)
这称为“回调函数”。您会发现它在jQuery中被大量使用。有一个回调函数,因此您可以将代码更改为:
$(document).ready(function () {
var response = true;
if (response) {
$(".success").html('<strong>Success!</strong>Value Updated Successfully !!!').fadeIn(800).delay(1500).fadeOut(800, function () {
window.location.reload();
});
}
});
$(文档).ready(函数(){
var响应=真;
如果(答复){
$(“.success”).html('success!Value更新成功!!!').fadeIn(800).delay(1500).fadeOut(800,函数(){
window.location.reload();
});
}
});
淡出功能以及提供了一个回调,该回调在动画完成时触发
下面是一个从-
因此,对于您的情况,使用此回调看起来像这样-
$(".success").html(...).fadeIn(800).delay(1500).fadeOut(800, function() {
window.location.reload();
});
由于您要执行的操作实际上是调用现有函数,因此您可以将
window.location.reload
函数作为回调本身传递,以使代码更干净一点-
...fadeOut(800, window.location.reload);
如果要执行更多操作,则只需定义自己的回调函数
$(".success").html(...).fadeIn(800).delay(1500).fadeOut(800, function() {
window.location.reload();
});
...fadeOut(800, window.location.reload);