0

そのため、ドロップダウンの選択を変更すると画像ソースが変更されるスクリプトを作成しています。

私はすべてが機能していますが、私が抱えている問題は、元の画像が表示/点滅してから新しい画像が表示されるときに、どういうわけか問題があります。私が欲しかったのは、スムーズなフェードアウトとフェードインでした...私のスクリプトはまさにそれを実行すると思いましたが、どういうわけかそれは機能していません。理由を見つけられますか?

image.fadeTo('fast',0, function() {
     image.attr("src", newImageSource).fadeTo('fast',1);
});

これも機能しますが、スワップされた画像を表示する前に、最初に元の画像をフラッシュします。遅らせてみましたが、効果がありませんでした。

4

1 に答える 1

1
image.fadeTo('fast',0, function() {
     var tempImg = $('<img src="' + newImageSource + '">');
     $(tempImg).load(function(){
         image.attr("src", newImageSource).fadeTo('fast',1);
     });
});

新しい画像ソースを使用して一時的な画像を作成し、それが読み込まれると(DOMにないことに注意してください。ユーザーには表示されません)、他の画像はフェードインされます。これにより、新しい画像が以前に読み込まれたことが保証されます。フェードインしようとしましたが、これがおそらく吃音の原因でした。

于 2012-05-30T18:49:45.487 に答える