Jquery 需要帮助获取FadeTo方法以处理窗口滚动事件吗

Jquery 需要帮助获取FadeTo方法以处理窗口滚动事件吗,jquery,if-statement,scroll,fadeto,Jquery,If Statement,Scroll,Fadeto,我正在尝试根据滚动位置使我的单页网站的每个“部分”淡入淡出。我希望该部分保持为display:block,因此我使用的是FadeTo方法,而不是FadeIn/FadeOut 这样做的目的是让每个部分在距离顶部一定距离时淡出,在不满足一定要求时淡出。我目前的标记尝试如下,但仍在努力找出我犯错误的地方 功能: function scrollFadeDiv(element, navheight) { var offset = element.offset(); var offsetTo

我正在尝试根据滚动位置使我的单页网站的每个“部分”淡入淡出。我希望该部分保持为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);
});
和我的窗口滚动事件:

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()无法与scroll事件一起工作,因此加载DOM后不会持续更新/重新计算totalScroll变量


提前谢谢

我的建议是使用waypoints插件:


谢谢Lucuma,这个解决方案效果很好。我仍然在寻找我错在哪里,只是为了更好地理解和改进我的手艺。再次感谢你的建议!构建一个JSFIDLE来演示一个特定的问题,并将其发布到您的问题中。我不确定这个问题是否与live和delegate有关,后者在较新的jquery版本中有类似的功能。