javascript - jQuery 在页面重新加载时淡出

标签 javascript jquery fadein fadeout

我想知道是否有人可以帮助我。

下面的脚本摘录使用户能够从链接到 mySQL 数据库的表中删除记录。

<script type="text/javascript">
    $(document).ready(function(){
        $('form.delete').submit(function(e){ 

            e.preventDefault();
            var elem = $(this).closest('.delete');
            var lid = $(this).serialize();
            $.confirm({
                 'title'    : 'Delete Confirmation',
            'message'   : 'If you delete this Location, all associated Find records will also be deleted. <br /><br />They cannot be restored at a later time! Do you wish to continue?',
                'buttons'   : {
                    'Yes'   : {
                'class' : 'blue',
                'action': function(){
                //elem.slideUp();
                              $.ajax({ 
                            url: 'deletelocation.php', 
                            type: 'POST', 
                            data: lid, 
                            success: function(response) { 
                            console.log('success', response); 
                                    setTimeout(function() { 
                                    $('body').fadeOut(400, function(){
                                    location.reload();
                                    setTimeout(function(){
                                    $('body').fadeIn(400);
                                     }, 500);
                                     window.scrollTo(x-coord, y-coord);
                                 });
                            }, 2000);
                            }, 
                            error: function() { 
                            console.log('error') 
                            } 
                            }); 
                    }
                },
                'No'    : {
                    'class' : 'gray',
                                        'action': function(){}  // Nothing to do in this case. You can as well omit the action property.

                }
            }
        });

    });

    })
</script> 

我可以设法让“删除确认”消息正常工作并实际删除记录,但在删除发生时添加“淡出”然后添加“淡入”时遇到了一些困难页面重新加载时。

我阅读了很多帖子,并从这些帖子中得出了以下内容,并将其集成到上面的内容中:

setTimeout(function() { 
$('body').fadeOut(400, function(){
location.reload();
setTimeout(function(){
$('body').fadeIn(400);
}, 500);
window.scrollTo(x-coord, y-coord);
});
}, 2000);

但是这不起作用,我不知道为什么。我只是想知道哪里有人可以看一下这个并让我知道哪里出了问题。

非常感谢和亲切的问候

最佳答案

location.reload()之后的脚本不会执行,因为页面正在重新加载。

您可以在网址中添加一个标志(#reload),并在页面加载开始时,您可以执行以下操作 $('body').hide().fadeIn() 如果找到该标志。

关于javascript - jQuery 在页面重新加载时淡出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11614087/

相关文章:

javascript - Angular 1.3 中是否有更好的模式可以在每次修改 ng-repeat 中的项目时调用函数?

javascript - 如何使用jquery的ajax方法从php文件返回整数值?

javascript - jQuery UI布局插件OVERFLOW设置

javascript - 如何将 html 类添加到上面的元素

javascript - 当我在页面加载时创建容器/父 Div .fadeIn 时,jQuery(和所有#links)中断 - 为什么?

javascript - 无法让 onScroll 函数仅触发一次

javascript - 用 angular.element(element).offset 替换 $(element).offset

javascript - Jquery fadeIn 似乎没有发生

ios - Swift 中的顺序淡入淡出

javascript - 如何通过python从源页面中提取由javascript创建的隐藏标签