0

画像をフェードアウトし、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 は、フェードインとフェードアウトの間ではなく、表示されるときに画像を変更します。パーツの前にsetTimeoutを試しました'.attr("src"...'が、うまくいきませんでした。

手がかりはありますか?

編集:フェードを開始する前に、すべての画像を別の機能でロードすることを忘れていました。

4

1 に答える 1

2

一連のアクションを実行する必要があると思います:

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

またはpromise()関数を試してください:

 image.fadeOut(1000);
 image.promise().done(function()
 {
    $(this).attr('src', newUrl).fadeIn(1000);
 });
于 2013-01-30T11:27:11.963 に答える