简而言之,当你将鼠标悬停在它们上面时,我正在创建一个图标网格。这是非常基本的东西,并且在浏览器中一致地工作。
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中,笔的动画都不会重启。它结束了一次,然后停留在那里直到我清除缓存。其他每个图标都运行正常,所以我不太清楚问题是什么。任何帮助将不胜感激!
答案 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,所以没有那么大的优惠)。