2010-11-03 37 views
0

我有一個頁面,感謝jQuery會在一定條件下自動點擊「Run Report」按鈕。所以,當用戶通過菜單轉到頁面時,他們會等待x秒鐘並返回結果。這很好...ASP.Net - 可憐的Mans Asynch「Please Wait ...」動畫

但是,我想添加一個動畫,因爲一些用戶不知道任何事情正在進行,我也想只顯示一個微調。該應用程序尚未「Ajax化」,可能永遠不會。所以我想到了一個窮人的做法。

我有一個div有文字和圖像。該div有一個簡單的類display: none;同樣的jQuery,點擊按鈕我也有它使用.toggleClass方法現在顯示div。

這很有效,報告運行並最終返回數據,並且自那時起頁面被刷新,div被隱藏起來,所有的東西在世界上都是正確的。

我的問題是,圖像顯示,但沒有動畫。我試圖把它放在點擊希望會發生並開始它的事情然後點擊甚至開始等待會發生。

我能做些什麼來強制GIF動畫?

回答

1

您是否使用jQuery ajax方法來請求報告?如果是這樣,那麼標準的ajax方法就有一個函數。

$.ajax({ 
    url: "/webservices/taskHelper.asmx/ArchiveTask", 
    data: '{taskId: 5}', 
    beforeSend: function() { 
     $("#spinner").show(); 
    }, 
    error: deft.ajaxError, 
    success: function (data) { 
     $("#spinner").hide(); 
    } 
}); 

當單擊鏈接並繼續運行直到從服務器收到響應時,將執行「beforeSend」函數。我使用beforeSend函數來顯示包含動畫gif的隱藏div。工作得很好。 jQuery ajax docs

+0

不幸的是,我不能使用你的例子。基本上我調用ObjectDataSource的DataBind方法來「獲取」或「重新獲取」數據。在它的_Selecting事件中,我正在填充運行查詢所需的值。我試圖把它稱爲WebMethod,理論上可以工作,但WebMethod需要是靜態的,那就是它分崩離析的地方。我試圖只在上面顯示時啓用微調,然後通過javascirpt單擊按鈕。我得到相同的結果,圖像顯示但不旋轉。 – Grandizer 2010-11-22 20:07:52

1

提交表單將停止所有頁面操作,包括GIF動畫。

解決方法是將表單發佈到隱藏的iframe。當然,您需要iframe來「喚醒」主頁,並在結果出現後在其中顯示其內容。

+0

是現貨。將你的動畫圖形放在一個隱藏的div中,點擊按鈕後,讓javascript「顯示」以前隱藏的div – ewitkows 2010-11-03 21:05:18

相關問題