1

我需要在页面底部制作一个小的固定按钮“到顶部”。由于我需要它相对于我页面上的一个容器,我试图在 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,但效果相同

4

0 回答 0