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

时间:2013-06-17 20:30:21

标签: javascript jquery asp.net vb.net

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

我可以以某种方式显示前进和中心的进度条吗?我一直在环顾四周,找不到任何东西。我也没有回复。我正在重新加载页面以执行在pageload上完成的查询。

我正在寻找一个javascript,jquery或vb解决方案。

2 个答案:

答案 0 :(得分:1)

我建议使用jquery异步加载页面,并显示一个动画gif来显示它正在加载。页面加载到jquery后,您可以删除aniamted gif /刷新页面。

$(document).ready(function () {

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

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

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


});

答案 1 :(得分:1)

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

你可以在表单提交上触发一个简单的javascript事件,它将一个类添加到BODY并在加载后删除它(如果它是一个ajax查询,否则它会被它自己删除)。这些示例事件适用于非ajax表单:

像这样(纯JavaScript):

document.forms[0].onsubmit = function(){
   document.body.className += ' t-loading';
}

或者使用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; }

You can look for a free loading icon in google.