2011-07-11 53 views
8

我正在寫一個網站,其中必須顯示一個圖像的網頁。這個圖像是由一個HttpHandler使用querystring命令創建的,我怎樣才能使這個工作沒有任何閃爍?更新沒有閃爍的圖像ASP.NET C#

在此先感謝,如果您需要一些代碼我樂意分享它!

+0

「閃爍」是什麼意思?每個AJAX的圖片更新是否應該順利過渡到新圖片或是整個頁面重新加載? – ChrFin

+0

是的,有一個我想刪除的trasition時刻,一會兒圖像是空的,然後它充滿了新的。我將所有內容放入UpdatePanel,圖像和其他控件中,導致自動回送,但在我沒有平滑過渡之前,我就是在sadi。 – JasonMenny

回答

1

我在一個項目中使用了下面的代碼,我遇到了類似的問題。也許這可以幫助解決你的問題。

(function($) { 
    var cache = []; 
    // Arguments are image paths relative to the current page. 
    $.preLoadImages = function() { 
    var args_len = arguments.length; 
    for (var i = args_len; i--;) { 
     var cacheImage = document.createElement('img'); 
     cacheImage.src = arguments[i]; 
     cache.push(cacheImage); 
    } 
    } 
})(jQuery) 

預載圖像後,過渡非常平滑。

p.s.我不記得我在哪裏得到這個,所以我不能信任。抱歉。

+1

問題是我的圖片是由在頁面上聆聽的httphandler生成的,因此每次用戶移動頁面內的某個控件時,此httphandler會生成一個新圖片來顯示。當新圖像準備就緒時,我應該攔截正確的時刻,並在那裏做些事情以避免閃爍... – JasonMenny

3

你可以使用2周的UpdatePanel和每個「重裝」後切換他們:

負荷幀1到Panel1的負載式2和隱藏是Panel2在回發/頁面加載
成是Panel2每AJAX和圖像之後,裝載秀Panel2,而且隱藏的Panel1
負載幀3成每AJAX Panel1的和圖像後載入顯示Panel1的和隱藏是Panel2
ASO ....

然後,您可以EV使用JS(請參閱HERE或使用jQuery fadeIn()fadeOut()更容易)從Panel1-> Panel2平滑淡入淡出。

+1

好的,我會稍後再試。你能給我更多關於流暢的fadind js代碼的信息嗎? – JasonMenny

+0

@Jason:查看我編輯中的鏈接... – ChrFin