代码之家  ›  专栏  ›  技术社区  ›  satoru

在iGoogle上设计一个类似谷歌阅读器的无限滚动小部件

  •  1
  • satoru  · 技术社区  · 15 年前

    你知道如何在iGoogle上实现一个不确定的滚动小部件,比如GoogleReader,它动态地加载数据,滚动条被一对上下箭头替换。

    我有这样的HTML结构:

    <div id="note_column">
        <ul class="messages">
            <li class="note">
                ....
            </li>
            .
            .
            .
        </ul>
    </div>
    

    我试着让不定卷轴在这个分区内工作,这样做:

    $(".messages).wrap("<div id='scrollbox'></div>"); 
    $("#scrollbox").css({
        'height': '50em',
        'overflow': 'scroll',
        'overflow-y': 'hidden'
    }).scroll(function() {
        // judge if this is a scroll-to-bottom
        // load list items if it is so
    });
    

    但是:(隐藏垂直滚动条似乎会禁用滚动事件处理程序。

    最让我困惑的是如何隐藏滚动条并保持滚动事件的处理。

    请告诉我我的实现可能有什么问题。

    事先谢谢。 alt text http://img2.douban.com/view/photo/photo/public/p439408255.jpg

    1 回复  |  直到 15 年前
        1
  •  1
  •   Fenton    15 年前

    嗯,有两个方面…

    1)无限卷轴

    这是一个基本的Ajax实现。当您检测到最后几个项在可视区域中时,您将发出一个Ajax请求,以获取要添加到列表底部的下一个“n”项。

    2)用上/下箭头替换滚动条。

    这将涉及在容器上使用css规则“overflow:hidden;”,以确保不显示滚动条。然后将添加到图像中进行向上/向下操作,并在单击事件中更改容器的滚动位置。

    如果你被卡住了,请随意展示你已经走了多远/被卡住了什么。如果你只想有人帮你写,我就得收手续费!(或者确实是开源——正如我在这里所做的…)

    http://plugins.jquery.com/project/infinitescroller