不想分页怎么办??-->页面数据的滚动加载
在前几天的一次前台数据展示的时候
为了更好的用户的体验
就想着做一个数据的滚动加载功能
于是简单的查询了网上的实现方式
基本都是在页面加载的时候绑定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请求成功后解析返回的数据即可。祝好运
不想分页怎么办??-->页面数据的滚动加载的更多相关文章
- h5页面列表滚动加载数据
h5列表滚动加载数据很常见,以下分享下今天做的案例: 前言 这个效果实现需要知道三个参数 1. scrollTop -- 滚动条距离顶部的高度 2. scrollHeight -- 当前页面的总高度( ...
- 滚动加载|页面滑到底部加载数据|jquery.endless-scroll插件|使用demo
<html> <head> <link rel="dns-prefetch" href="http://i.tq121.com.cn&quo ...
- 页面滚动动态加载数据,页面下拉自动加载内容 jquery
<!DOCTYPE=html> <html> <head> < script src="js/jquery.js" type=" ...
- Jquery页面滚动动态加载数据,页面下拉自动加载内容
<!DOCTYPE=html> <html> <head> <script src="js/jquery.js" type="t ...
- infinite-scroll插件无限滚动加载数据的使用
网上对于infinite-scroll插件使用的例子不多.但由于它的出现,鼓吹了瀑布流形式的页面展示方式,所以不得不了解了解这种新的分页方式. 官网上有对infinite-scroll的详细描述,但一 ...
- vue2.0无限滚动加载数据插件
做vue项目用到下拉滚动加载数据功能,由于选的UI库(element)没有这个组件,就用Vue-infinite-loading 这个插件代替,使用中遇到的一些问题及使用方法,总结作记录! 安装: ...
- 潭州课堂25班:Ph201805201 django 项目 第二十二课 文章主页 新闻列表页面滚动加载,轮播图后台实现 (课堂笔记)
新建static/js/news/index.js文件 ,主要用于向后台发送请求, // 新建static/js/news/index.js文件 $(function () { // 新闻列表功能 l ...
- 【无限滚动加载数据】—infinite-scroll插件的使用
网上对于infinite-scroll插件使用的例子不多.但由于它的出现,鼓吹了瀑布流形式的页面展示方式,所以不得不了解了解这种新的分页方式. 官网上有对infinite-scroll的详细描述,但一 ...
- HTML5商城开发一 楼层滚动加载数据
对于楼层加载在以前只是个想法,从来没实现过,刚好项目中碰到,再此总结一下 场景:HTML5,局部商品列表信息滚动(局部滚动条) 1.通过jq设置subCategoryScroll的高度为屏幕显示高度( ...
随机推荐
- Coreseek:第一步配置文件
Windows操作系统下:mysql数据源配置:(相应coreseek-3.2.13-win32/etc/csft_mysql.conf) #源定义 source mysql { type = mys ...
- IP网络,光网络以及轨道交通的快速卸载随想
凌晨3点钟,半夜睡眼朦胧.忽然听到左右两耳嗡嗡,身下的榻榻米垫沙沙作响,以为在梦境,然而睁眼清醒过来.发现并没有看见什么,依旧在黑夜,于是确认这不是在在梦.于是开灯,发现一仅仅蟑螂趴在垫子上.两仅仅蚊 ...
- wpa_cli 连接 wifi(转)
wpa_cli 连接 wifi 转自:http://hi.baidu.com/yyangjjun/item/9dfe8e175439fc7a1009b5ba 1: run wpa_supplica ...
- Windows 10 开发人员预览版中的新增功能(转自 IT之家)
Windows 10 开发人员预览版中的新增功能 在Win10预览版中安装工具与SDK后,即可着手创建Windows通用应用或先浏览目前的环境与此前相比都发生了什么变化. 应用建模 文件资源管理器: ...
- zookeeper是如何选取主leader的?
以一个简单的例子来说明整个选举的过程.假设有五台服务器组成的zookeeper集群,它们的id从1-5,同时它们都是最新启动的,也就是没有历史数据,在存放数据量这一点上,都是一样的.假设这些服务器依序 ...
- 本次安装Lion记录
黑苹果驱动之家 http://it360.org.cn/ Mac安装在Macintosh上是没什么好讲的,也没什么难度,原生的东西.但每次Mac安装在PC上总能折腾一番,驱动.五国.各种报错..今天记 ...
- django 使用post方法出现403错误的解决办法
当采用客户端象django的服务器提交post请求时.会得到403,权限异常.因为django针对提交的请教,有校验.所以会如此. 解决办法: 导入模块:from django.views.decor ...
- DLL编写中extern “C”和__stdcall的作用
动态链接库的使用有两种方式,一种是显式调用.一种是隐式调用. (1) 显式调用:使用LoadLibrary载入动态链接库.使用GetProcAddress获取某函数地址. (2) ...
- 如何在iOS上实现对HTTPS的支持(转)
原文地址:http://blog.5ibc.net/p/101504.html 首先,需要明确你使用HTTP/HTTPS的用途,因为OSX和iOS平台提供了多种API,来支持不同的用途,官方文档< ...
- js去掉双引号
替换: d = d.replace("\"","").replace("\"",""); 全部替换: ...