2011-06-06 78 views
0

我有一個網站在ASP.NET MVC3中使用Razor渲染視圖。在這個站點中,我創建圖表(System.Web.UI.DataVisualization.Charting.Chart),並將它們作爲圖像與控制器一起提供給我的視圖。jQuery UI:加載圖片時加載對話框

加載圖表可能需要1到5秒的時間。因此,我希望顯示一個加載模式對話框給用戶一些反饋。

創建jQuery UI對話框非常簡單,我聽說過定時關閉的解決方案。然而,由於時間變化,時間延遲關閉對我來說不是一個合適的解決方案。

是否可以顯示一個單個加載對話框,直到頁面上的所有圖像都被瀏覽器加載和渲染爲止?我怎麼能這樣做?

謝謝! :)

回答

0

如果您有每個圖像的獨立URL,您可以通過jQuery加載,您可以掛載到加載事件中,並在完成後隱藏等待圖像。這種方法適合你嗎?如果是的話,我會編輯和添加代碼。

+0

我對每個圖表圖像都有不同的URL。我在我的控制器中調用了一個HTTP.Get方法,該方法根據命名參數生成並返回適當的圖表圖像。例如:http:// localhost/GetImg?name = Foo。 – Alerty 2011-06-06 04:16:02

+0

雖然URL生成服務器端..所以我想它必須是動態JavaScript? – Alerty 2011-06-06 04:17:04

+0

檢查這裏的代碼:http://stackoverflow.com/questions/6234148/jquery-re-establish-img-src-in-load-function你想要做的是顯示每個等待圖像,其次 - 鉤負載您的圖像事件(即您的報告)到一些onload方法。你定義的'onload'方法只是隱藏你的等待圖像。你要把SO問題貼在最上面,而不是錯誤函數而是加載函數。這有意義嗎? – 2011-06-06 05:00:26

1

你可以一個處理程序添加到Load Event

添加一個絕對定位的div在IMG(通過CSS),它會顯示一個加載IMG。將一個加載事件處理程序添加到img標記中,該標記應在加載事件被觸發時移除絕對定位的div。

+0

在我的情況下,它必須是相對的,因爲我的佈局是流暢的。 – Alerty 2011-06-06 04:12:27

+0

當然,使用相對......不會影響js – 2011-06-06 04:37:07

+0

這是一個很不錯的主意......這是常見的做法嗎? – 2011-06-06 04:47:03