Javascript 滚动时查找滚动位置
我正在用这个库做卷轴。您如何知道元素已完全滚动?我只能从scroll=0的起始点开始计算,但是你怎么知道元素被滚动到了最后呢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
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();