18910140161

JavaScript-windows上chrome中滚动的问题-堆栈溢出

顺晟科技

2022-10-19 14:31:15

90

我使用了jquery.sticky和jquery.scrollbar 我尝试在平行滚动窗口滚动粘块。 这个代码是工作的,但有一些包在铬和边缘的窗口。(ubuntu上没有)。 当粘滞块滚动时,窗口的事件滚动被触发一次。看起来滚动很慢。 当粘块处于结束位置时,窗口的事件滚动被触发几次。 如果我注释掉行“$('.content__sidebar').scrolltop(total_scrolled);”缓慢的滚动将消失。 粘块有一些子jqury.Scrollbar。 我尝试禁用jQuery.Scrollbar,但问题仍然存在。 为什么当粘滞块滚动时,窗口的事件滚动只触发一次?

$('.content__sidebar').sticky({topSpacing:155, bottomSpacing: 310});
$(window).scroll(function(e){
    var scrollTop = $(window).scrollTop();//+10;
    direction = scrollTop-scrollTop_prev;

    console.log({scrollTop:scrollTop,scrollTop_prev:scrollTop_prev,direction:direction,total_scrolled:total_scrolled});
    if (direction_prev>0 && direction<0) { 
        //console.log("revert");
        //total_scrolled = $('.content__sidebar').scrollTop();
    } else if (direction>0) { 
        //console.log("down");
        total_scrolled += direction;
        $('.content__sidebar').scrollTop(total_scrolled);
    } else {
        total_scrolled += direction;
        $('.content__sidebar').scrollTop(total_scrolled);
    }
    if (total_scrolled>$('.content__sidebar').scrollTop()) {
        total_scrolled = $('.content__sidebar').scrollTop();
    }
    if (total_scrolled<0) {
        total_scrolled = 0;
    }
    scrollTop_prev = scrollTop;
    direction_prev = direction;

});

顺晟科技:

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航