Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 由于页面重新加载,通知消息(淡出)立即消失_Jquery - Fatal编程技术网

Jquery 由于页面重新加载,通知消息(淡出)立即消失

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);

我正在进行一个ajax调用并通知用户,如下所示

$( 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);