动画GIF在大型JQuery不透明动画期间停止

时间:2011-06-09 10:31:56

标签: jquery internet-explorer-8 animated-gif

这个问题发生在两台计算机上的IE6和IE8上(IE6使用VMware),但在另一台计算机上没有IE7。 Safari中存在一个非常大的图像问题(Safari虽然我并不关心它,但它是相关的)

基本上,当我在大图像(例如400x400px以上)中使用fadeTo()或animate({“opacity”:)为不透明度设置动画时,页面上的所有GIF动画都会暂时停止。 (例如左边的红色)

请参阅:

http://sky-walker.net/temp/housenav/fading3.html

100x640和640x100没有问题,但400x400图像(和3000x3000)这样做可能问题是基于图像中的像素数。

在Firefox和Chrome中,即使使用3000x3000图像,gif动画和褪色图片也非常流畅。

在Safari中,gif动画和渐变图片以相同的速度和低帧速率动画(如果网页包含3000x3000图像)。如果页面不包含该高分辨率图像,则400x400图像会平滑淡出。 (转到fading2.html)

在IE6和IE 8中,褪色非常流畅,但gif动画断断续续或停止。

$(document).ready(function(){
    $("#fadeout1").click(function(event) {
        $("#pic1").fadeTo(2000, 0.2);
    });
    $("#fadein1").click(function(event) {
        $("#pic1").fadeTo(2000, 1.0);
    });         
});
<img src="the-animated-icon.gif" /> 
<a href="#" id="fadeout1">Fade Out</a> | <a href="#" id="fadein1">Fade In</a> <img src="the-pic-to-fade.jpg" id="pic1" />

请参阅链接的源代码以获取更多详细信息,例如图像的确切名称。


编辑: 虽然上一个链接在另一台IE计算机上运行没有问题,但我的原始网页没有:http://sky-walker.net/temp/housenav2/roomsnav2old.php当您将鼠标悬停在方形图标上时,动画gif会停止。

1 个答案:

答案 0 :(得分:0)

我猜这个问题只是你的CPU或显卡无法跟上。渲染不透明度是一项非常密集的操作。我看到IE8在一台相当强劲的机器上没有停止,只是略有减速。