改变img的src和fadin在FF中工作得不是很好

时间:2013-01-30 10:45:30

标签: jquery firefox fade

我制作了一些淡出图片的代码,更改src属性,然后fadeIn()新图片。 这适用于Chrome,但不适用于FireFox。

这是jQuery代码:

var myInterval=setInterval(function(){myChanging()},5000);

function myChanging () {
    var newUrl = urlBaseBackground + currentIndex + ".jpg";
    var image = jQuery('#bckimg');
    image.fadeOut(1000, function () {
                    image.attr('src', newUrl);
                    image.fadeIn(1000);
                });
    currentIndex ++;
    if (currentIndex > totalCountBackgroundImages-1)
        currentIndex = 0;
}

身体:

 <img id="bckimg" 
      style="position:fixed;width:100%;height:100%;left:0px;top:0px;z-index:-1;" 
      src="/back/0.jpg" />

FF会在显示时更改图像,而不是在淡入和淡出之间。 我在'.attr("src"...'部分之前尝试了一个setTimeout,但它也没有用。

有人知道吗?

编辑:忘记提及我在启动淡入淡出之前用其他功能加载所有图像。

1 个答案:

答案 0 :(得分:2)

我认为你应该采取链式行动:

image.fadeOut(1000).attr('src', newUrl).fadeIn(1000);

或尝试promise()功能:

 image.fadeOut(1000);
 image.promise().done(function()
 {
    $(this).attr('src', newUrl).fadeIn(1000);
 });