Skip to content
网游世界
网游世界

吾生有涯,而知无涯。

  • 首页
  • PHP
    • ThinkPHP
    • FastAdmin
    • webman
  • JavaScript
    • jQuery
    • AdminLTE
  • Free Pascal
  • Java
    • JeeSite
    • 若依
    • ruoyi-vue-pro
  • 其它
    • 操作系统
    • 树莓派
    • 前端
    • Null
  • 关于
网游世界

吾生有涯,而知无涯。

Jquery Infinite Scroll 滚动插件简单使用

3Vshej, 2024年1月26日 周五2024年1月26日 周五

在开发中,需要对分页处理,通常的作法是,使用页码,即展示分页条,点击页码,跳到相应的页。

另一种作法是,通过滚动自动加载下一页。它分为,前端渲染分页数据和后端渲染分页数据。

前端渲染:指 ajax 请求数据后,由 JS 解析数据,并渲染到页面上。
后端渲染:指 ajax 请求的数据,即由后端(服务器)渲染后的数据,前端不需要再做处理。

Jquery Infinite Scroll 属于后端渲染,前端只负责展示,不作具体处理;它也支持对 json 数据处理,也就是说,由前端对数据处理后再渲染。

初始化时,path 可以使用3种方式定义:

内置分页
path: ‘?getList?page={{#}}’

使用隐藏元素
path: ‘.pagination__next’
页面中:
下一页

<a class="pagination__next" style="display: none;" href="?getList&amp;page=1">下一页</a>

通过回调

path: function () {
    return '/addons/kaoshi/user_plan/do_question?test=' + (this.loadCount+1);
}

留意,返回的内容是 html 页面时,则,必须包含下一页链接。

<a class="pagination__next" style="display: none;" href="?getList&amp;page=2">下一页</a>

示例

<ul id="data_list">
    <li class="item_li"> 内容</li>
</ul>
<a style="display: none;" href="?getList&page=1" class="pagination__next">下一页</a>

<script>
$('#data_list').infiniteScroll({
    // 定义页地址
    path: '?getList&page={{#}}',

    // 定义追加元素
    append: '.item_li',
    // 是否自动加载
    prefill: true,
    // 检查是否是最后一页
    checkLastPage: '.pagination__next',
});
</script>

后端返回时,除了列表内容:

<ul>
    <li class="item_li">内容</li>
    <li class="item_li">内容</li>
    <li class="item_li">内容</li>
</ul>

还需要返回下一页读取地址(每次返回,都将是新的下一页地址):

<a class="pagination__next" style="display: none;" href="?getList&amp;page=2">下一页</a>

这样,在鼠标滚动(向下滑动时),会自动加载下一页。当没有数据时,不返回下一页的地址就可以了。

有时候,需要先销毁再初始化,使用下面的代码先行判断后再销毁。

if ($('#data_list').data('infiniteScroll')) {
    $('#data_list').infiniteScroll('destroy');
}

除了本文介绍的简单使用外,它还支持,ajax 数据处理、加载效果、加载按钮等等,参见官方配置说明。

留意 Infinite Scroll 有3 种许可形式:开源、商业和 OEM。

相关文章:

  1. Paginationjs 插件简单使用 在日常工作中,分页很常用,但有时候,不想让后端处理,改为前端 JS 实现分页效果。 前端分页通常适用......
  2. Paginationjs 插件 Ajax 请求分页数据 上一文说到过 Paginationjs 插件简单使用,它只是针对于少量数据。 Paginationj......
  3. jQuery 创建表单并提交 在开发中,需要单独提交一个表单,如文件下载:已知外部参数和提交地址,后端需要根据参数,整理数据,创建......
  4. JeeSite 列表中增加日期范围筛选 在开发中,需要进行日期范围筛选,那么可以按以下方法来进行。...
JavaScript jQuery jQuery 插件分页插件列表页前端

文章导航

Previous post
Next post

近期文章

  • Android Studio Gradle 配置国内镜像
  • 为什么重新发明轮子
  • ruoyi-vue-pro 匿名访问
  • VUE 中接收 code 异常
  • 关于 AI

归档

  • 2025 年 4 月
  • 2025 年 3 月
  • 2025 年 2 月
  • 2025 年 1 月
  • 2024 年 12 月
  • 2024 年 11 月
  • 2024 年 10 月
  • 2024 年 9 月
  • 2024 年 8 月
  • 2024 年 7 月
  • 2024 年 6 月
  • 2024 年 5 月
  • 2024 年 4 月
  • 2024 年 3 月
  • 2024 年 2 月
  • 2024 年 1 月
  • 2023 年 12 月
除非特殊说明,本站作品采用知识共享署名 4.0 国际许可协议进行许可。
豫公网安备 41010402002622号 豫ICP备2020029609号-3
©2025 3Vshej