检测textarea何时滚动到底部

125*_*748 6 css jquery

有没有办法衡量用户何时滚动到元素的底部?我知道jQuery可以访问scrollTop()一个元素,但即使将它与元素的高度相结合,我也无法计算元素何时滚动到最底部位置.我想这样做,所以当在textarea中滚动时,我可以防止文档的主体在达到textarea的"滚动底部"时滚动.

JSBIN

Mr.*_* B. 12

以下是您要找的内容:http: //jsfiddle.net/BW8LT/1/

$('textarea#mytextarea').on('scroll', function() {
    var offset = 200; // height of textarea

    if (this.scrollHeight <= (this.scrollTop+offset)) {
        console.log('end of textarea!');
    }
});
Run Code Online (Sandbox Code Playgroud)

编辑1:通过隐藏溢出禁用滚动

$('textarea#mytextarea').on('scroll', function() {
    var offset = 200; // height of textarea

    if (this.scrollHeight <= (this.scrollTop+offset)) {
        // hide the overflow (=> disable scrolling) when the end is reached
        $('body').css('overflow', 'hidden');
    }
});

// re-enable scrolling on mouseout
$('textarea#mytextarea').on('mouseout', function() {
    $('body').css('overflow', 'scroll');
});
Run Code Online (Sandbox Code Playgroud)

只是比较textarea.scrollHeighttextarea.scrollTop.

滚动时查看控制台.希望有所帮助!