スクロール位置に基づいて、1ページのWebサイトのフェードインとフェードアウトの各「セクション」を取得しようとしています。セクションを display:block のままにしたいので、 FadeIn /FadeOut ではなくFadeToメソッドを使用しています。
アイデアは、各セクションが上部から特定の距離に達したときにフェードインし、特定の要件を満たさなくなったときにフェードアウトすることです。私の現在のマークアップの試みは次のとおりですが、どこで間違いを犯しているのかを理解するのに苦労しています
関数:
function scrollFadeDiv(element, navheight) {
var offset = element.offset();
var offsetTop = offset.top;
var totalScroll = offsetTop - navheight;
if (totalScroll > 0 ){
$(element).fadeTo('slow', 0.0);
} else {
$(element).fadeTo('slow', 1.0);
}
}
そして私のウィンドウスクロールイベント:
$(window).on('scroll', function(){
var elWrapped = $('section');
scrollFadeDiv(elWrapped, 75);
});
私の懸念は、live()が廃止され、delegate()がスクロール イベントで機能しないため、DOM が読み込まれた後に totalScroll 変数が継続的に更新/再計算されないことです。
前もって感謝します!