scrollLeft()工作得太慢了

时间:2013-10-01 10:05:44

标签: jquery scroll

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

0 个答案:

没有答案