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