我一直在嘗試使用腳本,它在Chrome和Firefox中可以正常工作,但在IE中會出現卡紙。IE中的jquery圖像加載
看到這裏 http://www.micahcarrick.com/code/jquery-image-swap/index.html
爲什麼它不能在IE中任何想法的人工作?
我一直在嘗試使用腳本,它在Chrome和Firefox中可以正常工作,但在IE中會出現卡紙。IE中的jquery圖像加載
看到這裏 http://www.micahcarrick.com/code/jquery-image-swap/index.html
爲什麼它不能在IE中任何想法的人工作?
至少在某些版本的IE中,您必須在設置.src
屬性之前註冊加載事件,因爲如果圖像位於緩存中,則當您設置.src
時,加載事件將立即觸發,因此您將錯過它如果你還沒有設置.load
事件處理程序。
在的jsfiddle代碼,這將需要這個(也簡化了一點):
var url = this.href;
$('<img />').load(function() {
$('#imageWrap').css('background-image', 'none');
$('#mainImage').attr('src', url).fadeIn();
}).attr('src', url);
你可以看到它在這裏工作:http://jsfiddle.net/jfriend00/vEVVG/
剛剛將它粘貼到JSFiddle中,並沒有什麼區別 – Dampsquid 2012-02-20 01:17:04
您需要將i.attr('src')更改爲this.href以將其更改爲工作,不能編輯答案,所以它在這個評論。 http://jsfiddle.net/yPme4/2/ – Dampsquid 2012-02-20 01:25:59
@Dampsquid - 好的,所做的更改,使其在jsFiddle中工作。我只是試圖說明他們必須放置'.src'的設置。這是這裏的主要觀點,但現在它已被簡化,並在我的jsFiddle中也可用:http://jsfiddle.net/jfriend00/vEVVG/。 – jfriend00 2012-02-20 01:42:02
它只是打破了圖像從加載之後緩存,對嗎? – Francisc 2012-02-20 00:46:19
哪個IE版本?我在IE9看它,它看起來像在工作。 – 2012-02-20 00:49:20
已將其設置在JSFiddle上http://jsfiddle.net/yPme4/ – Dampsquid 2012-02-20 01:00:19