特定的Gif不会在IE中重启

时间:2015-05-16 18:24:53

标签: javascript jquery html

简而言之,当你将鼠标悬停在它们上面时,我正在创建一个图标网格。这是非常基本的东西,并且在浏览器中一致地工作。

Here's the page itself

js如下:

$('.vidWrap img').hover(function(){
  mySrc = $(this).attr('src').split('_static')[0];
  $(this).attr('src',mySrc+'.gif');

},function(){
  $(this).attr('src',mySrc+'_static.gif');
});

但是出于某些奇怪的原因,在任何版本的IE中,笔的动画都不会重启。它结束了一次,然后停留在那里直到我清除缓存。其他每个图标都运行正常,所以我不太清楚问题是什么。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

问题似乎与gif文件的缓存有关。 IE似乎以某种方式将其缓存为图像。

尝试使用此JS:

var mySrc;
$(document).ready(function(){
    $('.vidWrap img').hover(function(){
        mySrc = $(this).attr('src').split('_static')[0];
        $(this).attr('src',mySrc+'.gif?' + Math.random());

    },function(){
        $(this).attr('src',mySrc+'_static.gif');
    });
});

Math.random()在gif后添加一个随机数,使浏览器认为它是另一个文件。这样做的缺点是浏览器每次都会下载这个gif(文件只有61.2 KB,所以没有那么大的优惠)。

在此处试试:http://jsfiddle.net/95wyeyae/4/