我试图让我的一页网站的每个“部分”根据滚动位置淡入和淡出。我希望该部分保留为 display:block,因此我使用FadeTo方法而不是 FadeIn/FadeOut。
这个想法是让每个部分在距离顶部一定距离时淡入,当它不满足某些要求时淡出。我目前的标记尝试如下,但努力找出我在哪里犯了错误
功能:
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 变量不会不断更新/重新计算。
提前致谢!