此Javascript在IE中不起作用,但适用于Chrome,Firefox和Opera

时间:2014-09-21 12:55:27

标签: javascript jquery html css

我有一个图像和一个微调器。我编写了一些代码来说明当加载任何img时删除类'spinner'。它适用于Chrome,Firefox和Opera,但不适用于Internet Explorer。

我在使用Internet Explorer 11的Windows 7上。

我在这里创建了一个非常基本的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');
})

我不知道自己错过了什么。任何帮助,将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:0)

您需要在ondomready的左上角应用jsfiddle。它运作良好。我也在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中工作。