私は、ページの上からユーザーと共にスクロールする画像を含む固定divがあります。新しいコンテンツ部門がビューポートに入ると、イメージが変わります。別のdivがビューポートにあるときに固定divに表示される画像を変更する
ユーザーがピクセル単位でスクロールする距離に基づいてイメージを変更する関連するコードが見つかりました。これは動作しますが、ビューポートは、特定のサイズがある場合にのみ、それ以外の画像は早すぎる/遅変更:
私は変更はなく、別のdivが来たときに基づいているように、これを変更しようとしている画面のサイズに関係なく機能するように表示されます(コンテンツdivの高さは相対単位で設定されます)。私は他のdivの位置が変数に保存され、上記のコードのピクセル値の代わりに使用された場合にこれを行うことができると思います。しかし、おそらく私は他のdivの位置を正しく計算していないので、私はこの権利を得るように見えることはできません。
$("#display1").fadeIn(1000);
$(window).scroll(function() {
var pos = $(window).scrollTop();
var first = $("#first").offset();
var second = $("#second").offset();
if (pos < first) {
hideAll("display1");
$("#display1").fadeIn(1000);
}
if (pos > first && pos < second) {
hideAll("display2");
$("#display2").fadeIn(1000);
}
etc...
});
function hideAll(exceptMe) {
$(".displayImg").each(function(i) {
if ($(this).attr("id") == exceptMe) return;
$(this).fadeOut();
});
}