jQuery无限滚动固定div中的滚动

列维·普特纳(Levi Putna)

背景

我正在尝试在固定位置div内创建一个无限滚动表。问题是我遇到的所有解决方案都使用窗口高度和文档scrollTop来计算用户是否已滚动到屏幕底部。

问题

我试图创建一个jQuery插件,该插件可以计算用户是否已滚动到具有overflow: scroll;set的固定div的底部

我的方法是创建一个包装表的包装器div(具有固定位置且溢出的div:滚动),我还将另一个div放置在表的底部。然后,我尝试计算每次包装器滚动时wrapper.scrollTop()是否大于底部div position.top。然后,我加载新记录并将它们附加到表主体中。

$.fn.isScrolledTo = function () {
    var element = $(this);
    var bottom = element.find('.bottom');

    $(element).scroll(function () {
        if (element.scrollTop() >= bottom.position().top) {
            var tableBody = element.find("tbody");
            tableBody.append(tableBody.html());
        }
    });
};

$('.fixed').isScrolledTo();

参见示例http://jsfiddle.net/leviputna/v4q3a/

问题

显然,我当前的例子是不正确的。我的问题是如何检测用户何时已使用overflow:scroll set滚动到固定div的底部?

草ana

我认为使用底部元素有点笨拙。相反,为什么在可滚动区域用完后不使用scrollHeight和height进行测试。

$.fn.isScrolledTo = function () {

     var element = this,
         tableBody =  this.find("tbody");

     element.scroll(function(){
         if( element.scrollTop() >= element[0].scrollHeight-element.height()){
             tableBody.append(tableBody.html());
         }
     });

};

$('.fixed').isScrolledTo();

编辑(14/12/30):

插件的DRYer版本可能更可重用:

$.fn.whenScrolledToBottom = function (cback_fxn) {
     this.on('scroll',this,function(){
         if( ev.data.scrollTop() >= ev.data[0].scrollHeight - ev.data.height()){
             return cback_fxn.apply(ev.data, arguments)
         }
     });
};

插件用法:

var $fixed = $('.fixed'),
    $tableBody = $fixed.find("tbody");

$fixed.whenScrolledToBottom(function(){
    // Load more data..
    $tableBody.append($tableBody.html());
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jQuery无限滚动固定div中的滚动

来自分类Dev

div中的Javascript无限滚动

来自分类Dev

div中的Javascript无限滚动

来自分类Dev

停止在固定div中滚动

来自分类Dev

div中的无限元素(向右滚动)?

来自分类Dev

div滚动无限循环

来自分类Dev

使用jQuery无限滚动固定数量的li元素

来自分类Dev

jQuery无限页面滚动

来自分类Dev

在100%高度固定div中检测滚动

来自分类Dev

可滚动div中的固定图标

来自分类Dev

在100%高度固定div中检测滚动

来自分类Dev

榆木中的无限滚动

来自分类Dev

使用jQuery在div中滚动

来自分类Dev

使用jQuery在div中滚动

来自分类Dev

jQuery无限滚动中的砌体回调在Wordpress中不起作用-也不是无限滚动插件

来自分类Dev

jQuery-从追加无限滚动获取DIV id值

来自分类Dev

无限(可滚动)Div,无需使用Javascript / JQuery的任何插件

来自分类Dev

固定div内滚动div

来自分类Dev

没有jQuery的无限滚动?

来自分类Dev

jQuery使用图像的无限滚动

来自分类Dev

滚动到div jQuery中的div顶部

来自分类Dev

无限滚动 div 中自动换行的 CSS 问题

来自分类Dev

jQuery Joyride在可滚动<DIV>中无法正确滚动

来自分类Dev

div图像位置固定+滚动

来自分类Dev

固定大小的可滚动DIV

来自分类Dev

使div(位置:固定)水平滚动

来自分类Dev

使固定div能够水平滚动

来自分类Dev

滚动后使 div 不固定

来自分类Dev

jQuery位置DIV固定在滚动条上