在前几天的一次前台数据展示的时候

为了更好的用户的体验

就想着做一个数据的滚动加载功能

于是简单的查询了网上的实现方式

基本都是在页面加载的时候绑定scroll事件

然后判断页面触底的时候

进行ajax请求获取数据

然后将数据追加到数据展示层的div后面

于是也找了几个demo看了看

决定自己动手把这个功能实现

直接看代码吧

代码中注释也很详细:

 $(document).ready(function(){
//页面加载的时候绑定触底滚动加载事件
$(window).bind('scroll',function(){show()});
function show() {
//获取页面首次加载时设置在隐藏文本框中的当前页的值
//在页面会有两个隐藏的文本框
//<input type="hidden" id="currentPage" value="${currentPage }"> 当前页
//<input type="hidden" id="totalPage" value="${totalPage }"> 进入该页面的时候把总页数放到该隐藏域中
var currentPage = $('#currentPage').val();
//获取页面首次加载时设置在隐藏文本框中的总页数值
var totalPage = $('#totalPage').val();
//如果当前页小于总页数 就进入判断
if(currentPage <= totalPage) {
//判断页面是否已经触底 如果触底就调用ajaxRead()方法来进行下一页数据的加载 并将当前页和总页数传过去
if($(window).scrollTop()+$(window).height()>=$(document).height()) {
ajaxRead(currentPage, totalPage);
}
} else {
//取消绑定scroll滚动事件
$(window).unbind('scroll');
//如果数据加载完毕 在blog-main Div后面追加提示语
$('#blog-main').append("<div style='text-align: center;'><h3>拼命更新数据中。。。。。。</h3></div>");
}
}
function ajaxRead(currentPage, totalPage) {
var html= "";
$.ajax({
type:'get',
url:'portal/scrollLoad',
data:{currentPage: currentPage,totalPage:totalPage},
success: function(data){
//获取后台传过来的年鉴列表
var list = eval(data.yearBookJson);
//遍历年鉴列表数据
for (var i = 0; i < list.length; i++) {
html = "<div class='col-md-4 col-sm-4'><article class='blog-teaser'><header>";
html = html + "<img style='width: 326px;height: 135px;' src='<%=basePath%>uploadFiles/uploadImgs/";
html = html + list[i].YEARBOOK+"' alt="+list[i].YEARBOOKNAME;
html = html + "'><h3><a href='portal/nianjiandetail?YEARBOOK_ID="+list[i].YEARBOOK_ID;
html = html + "'>"+list[i].YEARBOOKNAME;
html = html + "</a></h3><hr></header></article></div>";
//在yearBookBox Div后追加拼接的HTML代码
$('#yearBookBox').append(html);
}
//隐藏文本框中的当前页的值
var ajaxchange = $('#currentPage').val();
//本次加载完后隐藏文本框里的当前页的值需要加1 为下一次调用准备
$('#currentPage').val(parseInt(ajaxchange)+1);
}
});
}
});

js的代码就这么多,后台业务代码就不展示了,ajax请求成功后解析返回的数据即可。祝好运

不想分页怎么办??-->页面数据的滚动加载的更多相关文章

  1. h5页面列表滚动加载数据

    h5列表滚动加载数据很常见,以下分享下今天做的案例: 前言 这个效果实现需要知道三个参数 1. scrollTop -- 滚动条距离顶部的高度 2. scrollHeight -- 当前页面的总高度( ...

  2. 滚动加载|页面滑到底部加载数据|jquery.endless-scroll插件|使用demo

    <html> <head> <link rel="dns-prefetch" href="http://i.tq121.com.cn&quo ...

  3. 页面滚动动态加载数据,页面下拉自动加载内容 jquery

    <!DOCTYPE=html> <html> <head> < script src="js/jquery.js" type=" ...

  4. Jquery页面滚动动态加载数据,页面下拉自动加载内容

    <!DOCTYPE=html> <html> <head> <script src="js/jquery.js" type="t ...

  5. infinite-scroll插件无限滚动加载数据的使用

    网上对于infinite-scroll插件使用的例子不多.但由于它的出现,鼓吹了瀑布流形式的页面展示方式,所以不得不了解了解这种新的分页方式. 官网上有对infinite-scroll的详细描述,但一 ...

  6. vue2.0无限滚动加载数据插件

      做vue项目用到下拉滚动加载数据功能,由于选的UI库(element)没有这个组件,就用Vue-infinite-loading 这个插件代替,使用中遇到的一些问题及使用方法,总结作记录! 安装: ...

  7. 潭州课堂25班:Ph201805201 django 项目 第二十二课 文章主页 新闻列表页面滚动加载,轮播图后台实现 (课堂笔记)

    新建static/js/news/index.js文件 ,主要用于向后台发送请求, // 新建static/js/news/index.js文件 $(function () { // 新闻列表功能 l ...

  8. 【无限滚动加载数据】—infinite-scroll插件的使用

    网上对于infinite-scroll插件使用的例子不多.但由于它的出现,鼓吹了瀑布流形式的页面展示方式,所以不得不了解了解这种新的分页方式. 官网上有对infinite-scroll的详细描述,但一 ...

  9. HTML5商城开发一 楼层滚动加载数据

    对于楼层加载在以前只是个想法,从来没实现过,刚好项目中碰到,再此总结一下 场景:HTML5,局部商品列表信息滚动(局部滚动条) 1.通过jq设置subCategoryScroll的高度为屏幕显示高度( ...

随机推荐

  1. Atitit.线程 死锁 跑飞 的检测与自动解除 与手动解除死锁 java c# .net php javascript.

    Atitit.线程 死锁 跑飞 的检测与自动解除 与手动解除死锁 java c# .net php javascript. 1. 现象::主程序卡住无反应,多行任务不往下执行 1 2. 原因::使用j ...

  2. 每日英语:Why Chinese Companies Lack Homegrown Luxury Brand Power

    Chinese companies build iPads, high-speed trains and world-class telecom gear, but they can't seem t ...

  3. Win7-U盘安装出现"We were unable to copy your files. "

    使用Windows 7 USB/DVD Download Tool时,提示We were unable to copy your files. Please check your USB device ...

  4. RCC—使用 HSE/HSI 配置时钟 ---时钟树

    本章参考资料:< STM32F4xx 中文参考手册> RCC 章节.学习本章时,配合< STM32F4xx 中文参考手册> RCC 章节一起阅读,效果会更佳,特别是涉及到寄存器 ...

  5. [C++]在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include StdAfx.h”

    问题现象:在写好的.cpp文件后,编译报错.提示"你建立的工程使用了预编译功能, cpp最前边要留一行这样的内容:#include "StdAfx.h"问题原因:网上说是 ...

  6. 亿级日PV的魅族云同步的核心协议与架构实践(转)

    云同步的业务场景 这是魅族云同步的演进,第一张是M8.M9,然后到后面的是MX系统,M9再往后发展,我们的界面可以看到基本上是没有什么变化的,但本质发生了很大的变化,我们经过了一些协议优化,发展到今天 ...

  7. printf 字体颜色打印

    为了给printf着色方便, 我们可以定义一些宏: view plain copy to clipboard print ? #define NONE          "/033[m&qu ...

  8. 用iis虚拟目录和windows共享目录上传文件到远程

    现在有这样一个需求,有主机A和主机B.主机A上发布了一个网站,现在往主机A上上传文件默认是存在主机A上的, 如何把文件传到主机B上呢? 第一步在主机A和主机B上都创建同一个帐号admin,密码admi ...

  9. php 文件下载代码

    1.对于一般 $file = "/tmp/dummy.tar.gz"; header("Content-type: application/octet-stream&qu ...

  10. PHPMailer发送邮箱(ThinkPHP实战篇)

    1.下载phpmailer文件库 2.引用文件,此处将代码放到 :函数库中,function.php function sendConsultantMessage($sendData){ Vendor ...