Javascript 页面重新加载后的jQuery fadeIn div

Javascript 页面重新加载后的jQuery fadeIn div,javascript,php,jquery,ajax,json,Javascript,Php,Jquery,Ajax,Json,我有一个表单,它通过ajax调用存储用户数据 在成功时,我通常会有一个div淡入,并显示一条成功消息。但是,我希望重新加载页面,以便更新页面,然后在成功消息中淡出 我使用了一个.load()来更新div,然后切换表单以隐藏自身等等。但是.load导致其他一些js脚本在调用etc后无法工作,所以现在我只需要重新加载页面 但是,我想在重新加载页面后显示成功消息div 这是一个例子: if (check) { $.ajax({ type: "POST", url: "p

我有一个表单,它通过ajax调用存储用户数据

在成功时,我通常会有一个div淡入,并显示一条成功消息。但是,我希望重新加载页面,以便更新页面,然后在成功消息中淡出

我使用了一个.load()来更新div,然后切换表单以隐藏自身等等。但是.load导致其他一些js脚本在调用etc后无法工作,所以现在我只需要重新加载页面

但是,我想在重新加载页面后显示成功消息div

这是一个例子:

    if (check) {
    $.ajax({
    type: "POST",
    url: "process/updateuserpref.php",
    data: $('.updatepref').serialize(),
    dataType: "json",
    success: function(response){

    if (response.updatePrefSuccess) {
        location.reload();
        $('#successdisplay').fadeIn(1000);
        $('#successdisplay').delay(2500).fadeOut(400);
    }

    }
    });
    }
很明显,我知道

     $('#successdisplay').fadeIn(1000);
     $('#successdisplay').delay(2500).fadeOut(400);
目前不起作用,但有没有关于如何做我想做的事情的帮助


谢谢,Craig。

您可以在重新加载时发送一个
GET
变量,然后检查GET变量是否存在显示成功消息。如果不存在,则不执行任何操作

我做同样的事情,所以我是这样做的:

加载
reload()
I执行以下操作:

window.location.href=document.location.protocol+“/”+document.location.hostname+document.location.pathname+”?成功=1'

然后在我的PHP脚本中执行条件输出:

<?php if( $isset( $_GET['success'] ) && $_GET[ 'success' ] == 1 )  { ?> 
    <div id="successdisplay">
        Changes performed Successfully
    </div>
<?php }?>

已成功执行更改

一旦您执行了
location.reload()其他js脚本使用事件委派,或者在加载AJAX内容后重新初始化它们。这将是学习异步代码的有用练习。问题很可能是那些绑定到更新HTML时不再存在的元素的脚本。@adeneo是的,我建议不要使用
window.location.reload()
,而是将位置更改为类似的查询字符串参数,以指定需要发生的事情(如元素淡入淡出)@jasper感谢您的回复,那么在使用load函数时,其他脚本可能会受到影响,这是一种常见的情况吗?我很想使用。加载,但这一直让我拖延。我研究了事件委托和异步代码:)问题并不是真的与load()有关,而是您正在替换部分DOM,插入新元素,并且事件处理程序仅附加到绑定事件处理程序时存在的元素。这看起来是一种有趣的方法。我明天上午去看一看,然后试一试。