Javascript 页面重新加载时,我可以显示加载标志吗?

Javascript 页面重新加载时,我可以显示加载标志吗?,javascript,jquery,asp.net,vb.net,Javascript,Jquery,Asp.net,Vb.net,我有一个用户保存数据的ASP.NET页面。当他们单击save按钮时,数据将保存在vb中,页面将重新加载以更新页面上的当前数据,并使用他们刚刚保存的新数据。此页面上的某些db查询需要一段时间,用户在页面重新加载时尝试在页面上执行其他操作 我可以显示进度条的前面和中心吗?我一直在四处寻找,什么也找不到。我也不会回发邮件。我正在重新加载页面以执行在pageload上完成的查询 我正在寻找javascript、jquery或vb解决方案。我建议使用jquery异步加载页面,并显示动画gif以显示正在加载

我有一个用户保存数据的ASP.NET页面。当他们单击save按钮时,数据将保存在vb中,页面将重新加载以更新页面上的当前数据,并使用他们刚刚保存的新数据。此页面上的某些db查询需要一段时间,用户在页面重新加载时尝试在页面上执行其他操作

我可以显示进度条的前面和中心吗?我一直在四处寻找,什么也找不到。我也不会回发邮件。我正在重新加载页面以执行在pageload上完成的查询


我正在寻找javascript、jquery或vb解决方案。

我建议使用jquery异步加载页面,并显示动画gif以显示正在加载。在jquery中加载页面后,可以删除动画gif/刷新页面

$(document).ready(function () {

**$('<img src="/Images/ajax-loader.gif"')
.appendTo(#someID)**

...<ajax call to load page>...

 **$('#someID').find('img').remove();**      


});
$(文档).ready(函数(){
**$('...
**$('#someID')。查找('img')。删除();**
});

人们通常通过放置加载动画而不是进度条来解决这个问题,因为为了了解页面的实际进度,你必须使用我目前不理解(甚至不存在)的不自然的复杂机制

您可以在表单提交时触发一个简单的javascript事件,该事件向主体中添加一个类,并在加载后将其删除(如果是ajax查询,则会自行删除)。这些示例事件适用于非ajax表单:

像这样(纯JavaScript):

或者使用jQuery:

$('FORM').submit(function(){
       $(document.body).addClass('t-loading');
});
然后添加如下CSS

BODY.t-loading { background:url(loading.gif) center center no-repeat; }
BODY.t-loading * { visibility:hidden; }

您可以显示一个中间进度页面,该页面会立即/延迟后重定向到结果页面。或者,使用AJAX执行操作并提供进度更新。这些机制肯定存在,但您认为它很复杂,这是对的。GMail文件上载进度条就是一个很好的例子。基本上,它会保持签入状态与服务器异步,以查看有多少文件已上载。
BODY.t-loading { background:url(loading.gif) center center no-repeat; }
BODY.t-loading * { visibility:hidden; }