現在、私は私のホームページにスライドショーを作成するには、このコードを使用しています:フェードアウト(中ホワイトバックグラウンド)とフェードイン()
var images = [
"/d/assets/images/IT/homepage/slider-1.jpg",
"/d/assets/images/IT/homepage/slider-2.jpg",
"/d/assets/images/IT/homepage/slider-3.jpg",
"/d/assets/images/IT/homepage/slider-4.jpg",
"/d/assets/images/IT/homepage/slider-5.jpg",
];
var imageHead = document.getElementById("slider-home");
var i = 0;
setInterval(function() {
$('#slider-home').fadeOut(200,
function() {
imageHead.style.backgroundImage = "url(" + images[i] + ")";
i = i + 1;
if (i == images.length) {
i = 0;
}
$('#slider-home').fadeIn(200)
}
);
}, 5000);
コードは完璧に動作し、5秒ごとに背景画像を変更します。残念ながら、すべての変更の間に小さな白い背景があり、その遷移はホームページのRyanairスライドショーのように「クリーン」と「流動的」ではないようです。https://www.ryanair.com/it/it/
これを生成する問題はどこにありますか?
背景が表示されます。
代わりに、スムーズな移行を得るために、ちょうどその背後にあるものを明らかにし、スタック内の「トップ」の画像をフェードアウトアルファは1よりも低くなります。お互いの上に2枚の画像があり、2枚目が完全に表示される前に最初の画像を隠すべきではありません。 – the4kman
あなたは要素をフェードアウトして背景を切り替え、フェードインして戻します。フラッシュはフェードアウトしてからフェードインする前に発生します。フェード効果を得るには、オーバーラップするには、2つの要素を持つ必要があります.1つは現在の背景と1つは次のバックグラウンドです。もう1つはフェードインします。jqueryのアニメーションには 'queue:false'オプションを使用して2つのアニメーション一度に実行します。 –