2013-02-14 54 views
1

我正在使用jQuery 1.6.2,我必須禁用頁面上的所有元素,包括表單,選擇和鏈接,同時顯示請等待動畫。如何在使用jQuery重新加載頁面期間繼續顯示請稍候頁面?

我發現了一個免費的動畫在Ajaxload並使用$('.gif').show();來顯示它,等到一些javascript功能完整,然後調用$('.gif').hide();

不過,我遇到了一些我沒想到。當用戶在下拉列表中選擇一個新項目時,加載gif動畫顯示,但不久之後,在與下拉菜單相關聯的嵌套javascript函數中,它會調用頁面刷新以及來自數據庫調用的新數據並刪除我的動畫,然後才能調用隱藏功能。

所以我的問題是,是否有可能顯示一個動畫,將顯示在jsp中,然後繼續,直到重新加載完成?

我用的是這樣的事情以禁用鏈接點擊事件:

$("a").click(function(event) { 
    // add some conditional logic here if animation is running then 
    event.preventDefault(); ... 

那麼,有沒有更好的方式來在全球範圍禁用頁面上的所有元素,防止點擊事件或更改事件選擇下拉菜單?

後果:

我用弓箭手的背景格的建議,從潔的回答,這個博客文章一起:jQuery page loading delay,本文就使用modal window with an animation並用定製的解決方案想出了這正好符合我所需要的。

感謝大家的幫助,非常感謝!

+1

我發現的最簡單的方法是用div覆蓋頁面,所以你不能在它下面使用任何東西。你會考慮加載動畫的模態對話框嗎?有很多(jQueryUI非常簡單易用)。 – Archer 2013-02-14 17:47:30

+0

我首先查看了模式對話框,之前我已經使用過其他jQuery UI小部件,因此我會檢查一下。謝謝! – 2013-02-14 18:30:08

回答

2

可能使用doc readywindow load起來是這樣的:

$(function(){ 
    $('.gif').show(); 
    $(window).load(function(){ 
     $('.gif').hide(); 
     $('#wrapper').show(); 
    }); 
}); 

最初wrapper div needs to be hidden,當窗口完全被加載show the wrapperhide the gif

相關問題