Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 滚动时查找滚动位置_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 滚动时查找滚动位置

Javascript 滚动时查找滚动位置,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在用这个库做卷轴。您如何知道元素已完全滚动?我只能从scroll=0的起始点开始计算,但是你怎么知道元素被滚动到了最后呢 var instance = $("#road-scroll") .overlayScrollbars({ callbacks: { onScrollStop: function(e) { scrollLeft = e.target.scrollLeft; if (scrollLeft === 0) { btnL.removeCl

我正在用这个库做卷轴。您如何知道元素已完全滚动?我只能从scroll=0的起始点开始计算,但是你怎么知道元素被滚动到了最后呢

var instance = $("#road-scroll")
 .overlayScrollbars({
  callbacks: {
   onScrollStop: function(e) {
    scrollLeft = e.target.scrollLeft;

    if (scrollLeft === 0) {
      btnL.removeClass("btn-active");
    }

    if (scrollLeft > 0) {
      btnL.addClass("btn-active");
    }

  }
 }
})
.overlayScrollbars();
答复:

 var instance = $("#road-scroll")
  .overlayScrollbars({
  callbacks: {
   onScrollStop: function(e) {
    scrollLeft = e.target.scrollLeft;
    var scrollInfo = instance.scroll();
    let max = scrollInfo.x.max;

    if (scrollLeft === 0) {
      btnL.removeClass("btn-active");
    }

    if (scrollLeft > 0) {
      btnL.addClass("btn-active");
    }

    if (scrollLeft >= max) {
      btnR.removeClass("btn-active");
    }

    if (scrollLeft < max) {
      btnR.addClass("btn-active");
    }

   }
  }
 })
.overlayScrollbars();
var实例=$(“#滚动条”)
.叠层crolllbar({
回调:{
onScrollStop:函数(e){
scrollLeft=e.target.scrollLeft;
var scrollInfo=instance.scroll();
设max=scrollInfo.x.max;
如果(滚动左===0){
btnL.removeClass(“btn活动”);
}
如果(向左滚动>0){
btnL.addClass(“btn活动”);
}
如果(向左滚动>=最大值){
btn.removeClass(“btn活动”);
}
如果(向左滚动<最大值){
btn.addClass(“btn活动”);
}
}
}
})
.OverlyScrollBars();

答案应该是
.scroll.max.x
而不是
x.max
,根据@Аааааааа的答案:

完整的参考对象:

const scrollBar = $(jsScrollPageContainer).overlayScrollbars({
    className: "os-theme-dark",
    callbacks: {
        onScroll: function(e) {
            const scrollInfo = scrollBar.scroll();
            const max = scrollInfo.max.x;
            const scrollLeft = e.target.scrollLeft; // same as `scrollInfo.position.x`
            const scrollTop = e.target.scrollTop; // same as `scrollInfo.position.y`

            // other logic
        }
    }
}).overlayScrollbars();