繁体   English   中英

jQuery位置DIV固定在滚动上

[英]jQuery position DIV fixed on scroll

当用户向下滚动时,当该元素触摸窗口顶部时,我尝试将元素固定在顶部。 在向下滚动一切正常(添加一个具有固定位置的类),但当我向上滚动不起作用。 但我不明白为什么:(我用这段代码创建了一个jsfiddle: http//jsfiddle.net/8h4knr9r/

$(window).scroll(function () {
     var distance = $('#navigation-sections').offset().top;

     if ($(window).scrollTop() >= $('#navigation-sections').offset().top) {
         $('#navigation-sections').addClass("affix");

     } else {
         $('#navigation-sections').removeClass("affix");
     }
 });

谢谢

您需要将初始距离存储在滚动功能之外 - 否则每次滚动都会重新计算。 这是工作小提琴: http//jsfiddle.net/donal/8h4knr9r/5/

JS应该如下所示:

var distance = $('#navigation-sections').offset().top; 

$(window).scroll(function () {

     if ($(window).scrollTop() >= distance) {
         $('#navigation-sections').addClass("affix");

     } else {
         $('#navigation-sections').removeClass("affix");
     }
 });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM