我需要在页面底部制作一个小的固定按钮“到顶部”。由于我需要它相对于我页面上的一个容器,我试图在 jquery 的帮助下计算坐标。这是我的代码:
$(document).ready(function() {
var button = $('.button-up');
var left = parseInt(button.css('left'));
$(window).scroll(function(event) {
if ($(window).scrollLeft() > 0){
var scroll = $(this).scrollLeft();
var leftNew = left - scroll;
console.log('scrollleft:', scroll, ' left: ', left, ' left\':', leftNew);
button.css('left', leftNew + "px");
}
});
});
当我缓慢移动滚动条时它可以工作。但是当我快速这样做时,scrollLeft() 没有正确重新计算。因此,当 bar 位于左侧并且 console.log 说它是 50px 的情况是可能的。当它发生时,我的按钮会向左移动并覆盖内容区域。我能以某种方式防止这种影响吗?我尝试使用JS中的scrollX并将$(this)更改为window,但效果相同