jquery列表自动加载更多
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>{$Think.lang.E160}</title>
<link href="__CSS__/css.css" rel="stylesheet">
<meta name="viewport" content="width=device-width,height=device-height,inital-scale=1.0,maximum-scale=1.0,user-scalable=no;">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=no">
<script src="__JS__/jquery-1.11.1.min.js"></script>
<script>
var cur_page = 1;
var max_page = 0;
var page_size = 15;
function get_content(){
var str = '';
$.post("__URL__/getSysList", {'size':page_size, 'page':cur_page, 'max_page':max_page}, function(s){
$('#getMore').hide(); s = $.parseJSON(s); //首页进入时的首次加载
if(max_page==0) max_page = parseInt(s.maxPage);
for(i in s.list){
str += '<div class="xttz">'+
' <div class="tzyi"><span>'+ s.list[i].sysm_date.date.split(' ')[0] +'</span><b>'+ s.list[i].sysm_title + '</b></div>'+
' <div class="tznr">'+ s.list[i].sysm_content +'</div>'+
'</div>';
} cur_page++;
$("#list_box").append(str);
});
}
$(function(){ //页面回退时优先加载缓存,并自动滚动到原阅读位置
var con = localStorage.getItem("active_list_con");
if(con){
cur_page = localStorage.getItem("active_list_page");
max_page = localStorage.getItem("active_list_maxpage");
$("#list_box").append(con);
$("html,body").scrollTop(localStorage.getItem("active_list_scroll"));
}else{
//页面进入时自动第一次加载内容
get_content();
}
$(window).scroll(function() {
if (($(window).scrollTop() || window.scrollY) + $(window).height() == $(document).height() && cur_page != max_page) {
$('#getMore').show();
get_content();
//加入缓存
localStorage.setItem("active_list_con", $("#list_box").html()); //已加载的浏览内容
localStorage.setItem("active_list_maxpage", max_page); //当前页面总页数
localStorage.setItem("active_list_page", cur_page); //当前页数
localStorage.setItem("active_list_scroll", $(window).scrollTop()); //当前浏览位置
}
}); });
</script> <link href="__CSS__/common.css" rel="stylesheet" type="text/css">
</head> <body>
<div class="top"><span><a href="/index.php/Index/Thenews/thenews"><img src="__IMG__/topjt.png" width="70%"></a></span>{$Think.lang.E160}</div> <div id="list_box"></div> <div id="getMore" style="position:fixed; left:10%; bottom:0; opacity:0.7; width:80%; height:40px; line-height:40px; border-radius:6px 6px 0 0; background:#fff; color:#000; text-align:center;">更多内容正在加载...</div> </body>
</html>
//ajax-分页获取最新通知
public function getSysList(){
//设置where条件
$where = "sysm_status=0"; $lang = strtolower(cookie('think_language'))=='en-us' ? 2 : 1;
$where .= " and sysm_lang={$lang}"; //分页查询
$page = I('post.page', 1, 'intval');
$pageSize = I('post.size', 15, 'intval');
$maxPage = I('post.max_page', 0, 'intval');
$n = $page * $pageSize; //总页数,第一次获取的时候查询
if($maxPage==0){
$count = M()->query("select count(0) as count from SystemMessages where {$where}");
$max_page = ceil($count[0]['count'] / $pageSize);
} $SQL = "SELECT a.sysmid, a.sysm_title, a.sysm_content, a.sysm_date FROM SystemMessages a, (SELECT TOP {$pageSize} sysmid FROM ( SELECT TOP {$n} sysmid FROM SystemMessages WHERE {$where} ORDER BY sysmid DESC ) t ORDER BY t.sysmid ASC ) b WHERE a.sysmid = b.sysmid ORDER BY a.sysmid DESC";
$list = M()->query($SQL); $result = ['maxPage'=>$max_page, 'list'=>$list];
die(json($result));
}
jquery列表自动加载更多的更多相关文章
- jQuery自动加载更多程序
1.1.1 摘要 现在,我们经常使用的微博.微信或其他应用都有异步加载功能,简而言之,就是我们在刷微博或微信时,移动到界面的顶端或低端后程序通过异步的方式进行加载数据,这种方式加快了数据的加载速度,由 ...
- 基于JQuery实现滚动到页面底端时自动加载更多信息
基于JQuery实现滚动到页面底端时自动加载更多信息 关键代码: 代码如下: var stop=true; $(window).scroll(function(){ totalheight = par ...
- jQuery自动加载更多程序(转)
jQuery自动加载更多程序 1.1.1 摘要 现在,我们经常使用的微博.微信或其他应用都有异步加载功能,简而言之,就是我们在刷微博或微信时,移动到界面的顶端或低端后程序通过异步的方式进行加载数据 ...
- UWP-ListView到底部自动加载更多数据
原文:UWP-ListView到底部自动加载更多数据 ListView绑定的数据当需要“更多”时自动加载 ListView划到底部后,绑定的ObservableCollection列表数据需要加载的更 ...
- ListView下拉刷新,上拉自动加载更多
下拉刷新,Android中非常普遍的功能.为了方便便重写的ListView来实现下拉刷新,同时添加了上拉自动加载更多的功能.设计最初是参考开源中国的Android客户端源码.先看示例图. ...
- jQuery上拉加载更多
<header id="header">首 页</header> <section id="main"> <ul id ...
- Jquery点击加载更多
一.点击加载更多有点像分页获取数据类似,下面是本人写的一个简单的小例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona ...
- 实现Android ListView 自动加载更多内容
研究了几个小时终于实现了Android ListView 自动加载的效果. 说说我是怎样实现的.分享给大家. 1.给ListView增加一个FooterView,调用addFooterView(foo ...
- Android RecyclerView 瀑布流滑动到最后自动加载更多
mRecycleView.setOnScrollListener(new RecyclerView.OnScrollListener(){ //用来标记是否正在向最后一个滑动,既是否向下滑动 bool ...
随机推荐
- 如何在Ionic2项目中使用第三方JavaScript库
onic的官网放出一记大招Ionic and Typings,来介绍如何在Ionic2项目中使用第三方JavaScript库. 因为在前阵子正好想用一个非常有名的第三方JS库ChartJs来实现一些东 ...
- Testlink集成Jira时如果出现Error咋办?
TestLink在用SOAP集成Jira时,如果出现: SOAP Fault: (code: WSDL, string: SOAP-ERROR: Parsing WSDL: Couldn't load ...
- sys.modules[__name__]
A way to get a handle to the current running module in Python: import sys module = sys.modules[__nam ...
- 海拔(bzoj 2007)
Description YT市是一个规划良好的城市,城市被东西向和南北向的主干道划分为n×n个区域.简单起见,可以将YT市看作一个 正方形,每一个区域也可看作一个正方形.从而,YT城市中包括(n+1) ...
- 水晶报表 IE设置
水晶报表:Crystal Reports(水晶报表)是一款商务智能(BI)软件,主要用于设计及产生报表.水晶报表是业内最专业.功能最强的报表系统,它除了强大的报表功能外,最大的优势是实现了与绝大多数流 ...
- VIJOS【1234】口袋的天空
背景 小杉坐在教室里,透过口袋一样的窗户看口袋一样的天空. 有很多云飘在那里,看起来很漂亮,小杉想摘下那样美的几朵云,做成棉花糖. 描述 给你云朵的个数N,再给你M个关系,表示哪些云朵可以连在一起. ...
- case when then else 详解
原文发布时间为:2008-10-15 -- 来源于本人的百度文章 [由搬家工具导入] sql语句判断方法之一 Case具有两种格式。简单Case函数和Case搜索函数。 --简单Case函数 CASE ...
- Turn on and off trigger events 生效控制
平台 Qualcomm 解說 Qualcomm 平台的 Turn-on event 有 KYPD_PWR_N,CBL_PWR_N,.... 也有 PMIC reset and power-off ev ...
- linux私房菜-读书笔记
第零章:计算机概论 计算机:接受用户输入指令和数据,经过中央处理器的数据和逻辑单元运算处理器处理后,以产生或存储成有用的信息. 计算机硬件的五大单元:输入单元.输出单元.CPU内部控制单元.算术逻辑单 ...
- uva 11491:Erasing and Winning(贪心)
题意:给一个长n(n<10^5)位的数,删除d位,求删除后最大的数.(原数无前导0) 思路:从前往后扫,如果a[i] > a[i-1],则删除a[i-1].我暴力的用链表实现了…… #in ...