需要帮助让FadeTo方法使用窗口滚动事件

问题描述:

我想让我的一个页面网站的每个'部分'根据滚动位置淡入和淡出。我希望该部分保持为display:block,因此我使用的是FadeTo/FadeOut而不是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); 
}); 

我的关注是因为住()已被弃用和委托()对滚动事件不起作用,totalScroll变量不会在加载DOM后不断更新/重新计算。

在此先感谢!

我的建议是使用航点插件:

https://github.com/imakewebthings/jquery-waypoints

+0

感谢Lucuma,该解决方案的工作就好了。为了更好地理解和改进我的工艺,我仍然在寻找我出错的地方。再次感谢您的建议! – user1512126 2012-07-12 13:43:32

+0

构建一个jsfiddle来演示特定的问题并将其发布到您的问题。我不确定这个问题与新的jquery版本中的类似事件的实况和委托有什么关系。 – lucuma 2012-07-12 15:55:50