使用infinite-scroll插件实现无限滚动加载数据

使用infinite-scroll插件实现无限滚动加载数据

在网上使用无限滚动插件的例子并不多。但是,既然它提出并提倡瀑布式页面显示风格,就有必要学习这种新的分页方式。

 

官网上有对infinite-scroll的详细描述,但一般人即使看未必看得懂,看得懂未必就调试成功。所以借今晚有点时间,把跑通的例子供大家借鉴。

 

一.无限滚动概念

 

首先,它是基于jQuery的,另外还要明白无限滚动的概念:无限滚动的实现原理就是当你在网页上的滚动条滚动到离网页底部一定长度的时候,触发某ajax函数(infinite-scroll内已经封装好),往后台加载文件或者数据,又或者从外部引入静态html形式文件。

 

二.探讨infinite-scroll

 

1.从网页头引入两个js文件,注意必须先放jquery的

 

<script src=”css/infinite-scroll/jquery-1.6.4.js”></script>

<script src=”css/infinite-scroll/jquery.infinitescroll.js”></script>

 

2.之后在网页头自己写一个js脚本

 

<script>

$(document).ready(function (){

$(“#container”).infinitescroll({

navSelector: “#navigation”, //页面分页元素–本页的导航,意思就是一个可以触发ajax函数的模块

nextSelector: “#navigation a”, //下一页的导航

itemSelector: “.scroll ” , //此处我用了类选择器,选择的是你要加载的那一个块(每次载入的数据放的地方)

animate: true, //加载时候时候需要动画,默认是false

maxPage: 3, //的页数,也就是滚动多少次停。这个页码必须得要你从数据库里面拿

});

});

</script>

 

3.或许你看到这里还是不太清楚网页怎么定义,这里给出我的demo,希望可以有帮助

 

<%@ page language=”java” contentType=”text/html; charset=utf-8″

pageEncoding=”utf-8″%>

<!DOCTYPE html>

<html>

<head>

<meta charset=”utf-8″>

<title>无限翻页效果</title>

<script src=”css/infinite-scroll/jquery-1.6.4.js”></script>

<script src=”css/infinite-scroll/jquery.infinitescroll.js”></script>

<script src=”css/infinite-scroll/test/debug.js”></script>

<script>

$(document).ready(function (){ //别忘了加这句,除非你没学Jquery

$(“#container”).infinitescroll({

navSelector: “#navigation”, //页面分页元素–成功后自动隐藏

nextSelector: “#navigation a”,

itemSelector: “.scroll ” ,

animate: true,

maxPage: 3,

});

});

</script>

</head>

<body>

<div id=”container”> <!– 容器 –>

<div class=”scroll”> <!– 每次要加载数据的数据块–>

页内容页内容<br>

页内容<br>页内容<br>页内容<br>

页内容<br>页内容<br>页内容<br>

页内容<br>页内容<br>页内容

</div>

</div>

<div id=”navigation” align=”center”> <!– 页面导航–>

<a href=”user/list?page=1″ rel=”external nofollow” ></a> <!– 此处可以是url,可以是action,要注意不是每种html都可以加,是跟当前网页有相同布局的才可以。另外一个重要的地方是page参数,这个一定要加在这里,它的作用是指出当前页面页码,没加载一次数据,page自动+1,我们可以从服务器用request拿到他然后进行后面的分页处理。–>

</div>

</body>

</html>

 

三.细微部分

 

1.js函数里还可定义的其他属性:

 

debug : true, //用于调试,如果需要用到,只需在网页头引入官网demo里的debug.js文件

loadingImg : “/img/loading.gif”, //加载时候显示的进度条,用户可以自定义

loadingText : “Loading new posts…”, //加载时显示的文字

extraScrollPx: 50, //离网页底部多少像素时触发ajax

donetext : “I think we’ve hit the end, Jim” , //加载完数据(到达底部时)显示的文字提醒

errorCallback: function(){}, //加载完数据后的回调函数,可选

 

其他属性暂不作过多介绍

 

 

2.数据的载入方式

 

①html :如果你已经有固定的数据块,可以放到html里面加载静态页面。

 

②json :可以用后台返回json的方式,返回的时候要指定temple里面的html模版,否则会出错。

 

③我上面例子用的其实也是json,前台在Action层把数据取出后再用StringBuilder拼装成html格式的字符串返回前台。(个人习惯)

 

3.数据分页方式

 

本例用hibernate进行数据分页。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/115267.html<

(0)
运维的头像运维
上一篇2025-02-18 01:25
下一篇 2025-02-18 01:27

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注