2014-09-21 79 views
0

我有一個圖像和一個微調。我已經寫了一些代碼來說,當任何img加載時刪除類'微調'。它適用於Chrome,Firefox和Opera,但不適用於Internet Explorer。此Javascript在IE中不起作用,但適用於Chrome,Firefox和Opera

我在Windows 7上使用Internet Explorer 11

我已經在這裏創造一個非常基本的jsfiddle例如:http://jsfiddle.net/Forresty/o8v6xsze/

出於某種原因,它不是在工作的jsfiddle在任何瀏覽器,所以我我不知道該怎麼做。我已經通過點擊功能對其進行了測試,所以如果我單擊圖像,微調控件類將被刪除,並且可以正常工作。所以我認爲這與加載方面有關。

我有一些其他的JavaScript在我的網站上工作,所以我不認爲這是一個IE特定的問題。

下面是代碼:

HTML:

<div class="spinner"></div> 
<img class="workImage" src="http://upload.wikimedia.org/wikipedia/commons/2/23/Lake_mapourika_NZ.jpeg"> 

CSS:

.workImage{ 
    width: 500px; 
    height: 500px; 
} 

.spinner{ 
    width: 500px; 
    height: 500px; 
    background: red; 
} 

的Javascript:

$('img').on('load', function() { 
    $("div").removeClass("spinner"); 
}) 

我也試過此javascript:

$('img').load(function() { 
    $('div').removeClass('spinner'); 
}) 

我不知道我在想什麼。任何幫助,將不勝感激。

謝謝。

+2

[jQuery圖像加載回調(即使圖像被緩存)]的可能重複](http://stackoverflow.com/questions/3877027/jquery-callback-on-image-load-even-when-the-圖像緩存) – antyrat 2014-09-21 13:01:03

+0

非常感謝antyrat – Forrest 2014-09-21 13:19:46

回答

0

您需要在jsfiddle的左上角應用ondomready。它運作良好。我也在IE10中測試過它。

http://jsfiddle.net/o8v6xsze/1/

爲了解決在IE10的問題,您可以使用:

$('img').on('load', function() { 
    $("div").removeClass("spinner"); 
}).each(function() { 
    if(this.complete) $(this).load(); 
}); 

http://jsfiddle.net/o8v6xsze/3/

它在我的IE10工作。

+0

謝謝。我剛剛測試過你的jsfiddle,它適用於所有瀏覽器,但IE適用於我。你認爲這是特定於我的IE版本嗎? – Forrest 2014-09-21 13:03:38

+0

也許它已禁用JavaScript?運行一個簡單的警報,看看它是否工作。 – 2014-09-21 13:04:30

+0

@Forrest抱歉,我的錯誤。它也不適用於我的IE瀏覽器。我不知道我第一次看到什麼。將看看它 – 2014-09-21 13:05:48

相關問題