2010-07-20 125 views

回答

1

在JavaScript中使用圖像OnLoad事件。換句話說,在最後一個沒有完全加載之前,不要加載新的圖像。

也許你不應該使用更新面板。圖片標籤(包括其大小,外觀和位置)保持不變;它是變化的來源。而不是更新的一切,我建議做以下在客戶端

  1. 在開始的時候,加載第一圖像(不更新面板)。
  2. 在客戶端將OnLoad事件的監聽程序添加到<img />
  3. 當圖片完全加載時,通過查詢服務器以獲取更新的圖片來重新加載。例如,您可能會考慮擁有一個ASP.NET頁面Camera.aspx,該頁面服務於從相機抓取的最新照片。可以肯定的頁面確實是查詢,<img />元素的src屬性更改爲Camera.aspx?t=1Camera.aspx?t=2

在服務器端(所以沒有JavaScript在這裏會),所抓取的圖像存儲在數據庫中,因此Camera.aspx將查詢最後存儲的記錄,檢索它並直接發送給客戶端(指定適當的Response.ContentType和使用Response.OutputStream)。

爲了獲得更好的視覺反應,您可能還需要考慮並行使用兩個圖像元素:第一個加載時,顯示第二個,反之亦然。它可能會更好,但我不確定,所以在選擇合適的方法之前進行測試。

+0

這聽起來像個好主意!雖然我對JavaScript沒有太多瞭解,但是如何在OnLoad事件中從數據庫獲取下一個圖像url? – 2010-07-22 02:57:57

+0

@Faizan Kazi:查看修改後的答案。最好的祝福。 – 2010-07-22 04:15:32

+0

謝謝!!我很抱歉遲到的迴應,但你的答案是非常完美的..我剛剛得到一個小細節清理...我如何將圖像從Camera.aspx分配給圖像?這有點像網絡服務嗎? – 2010-11-22 04:41:30

相關問題