2010-06-23 170 views
4

我想显示一个加载动画,而我的页面加载时,加载完成后,显然隐藏它。页面加载动画

我在使用Masterpages的ASP.NET工作,只是想知道有一个简单的方法来做到这一点使用JQuery?

任何指针,将不胜感激。

感谢

回答

3

只需将图片与页面上的gif动画。给它一个加载图片ID并添加以下脚本:

$(document).ready(function(){ 
    $('#loadingImage').hide(); 
}); 

顺便说一句,您的页面加载需要多长时间?它使用AJAX调用来加载数据吗?也许你应该看看这个,并在回调处理程序中调用图像上的hide()函数。

+0

所以简单而有趣,有没有办法,而所有的页面没有完全加载,页面将被禁用? – Mostafa 2010-06-23 12:00:14

+0

Hi @Mostafa,如果你想在页面上禁用脚本直到加载,$(document).ready(function ...)是初始化它们的地方。如果你想做更多的事情,可以发布一个更详细的问题。 – 2010-06-23 12:05:29

+0

该页面需要大约5秒钟才能加载,但在我的场景中,它是在单独的框架中加载的,因此我想向用户提供一些反馈,否则您单击此链接并且没有任何事情发生。 我已经试过你的示例代码,但似乎一切都发生了,而不是加载div出现然后消失当主要内容被加载。 我猜想某种处理程序需要更复杂的解决方案。我正在使用APP.NET AJAX如果可以做到这一点。 – bigtv 2010-06-23 13:17:14

0

考虑使用UpdateProgress控制

+0

你有这样的例子吗? – bigtv 2010-06-23 13:03:00

+0

我发布的链接有一个例子在页面底部 – 2010-06-23 13:09:36

+0

耶,对不起!!!! – bigtv 2010-06-23 13:13:00

0

我我的母版页上做出这样的动画:

<div id="loading" style="text-align: center" hidden><asp:Image ID="loadingImage" runat="server" ImageUrl="~/Images/loading.gif" /></div> 

,然后我用jQuery的这样

<script> 
function showLoading() { 
    $("#loading").show(); 
    } 

    var loadingTimeout = setTimeout(showLoading, 3000); 

    $(document).ready(function() { 
    clearTimeout(loadingTimeout); //make sure loader doesn't appear if page loads in less than 3 seconds 
    $("#loading").hide(); 
    }); 
</script> 

我希望这将有助于。