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 ...
随机推荐
- 【Begin】
迫于无奈,我想提高写博速度.我要尽量压缩每道题的题解思路.最终我选择背叛大米兔,但是我支持它.因为它的每一篇博客耗时巨大,精贵的竞赛集训时间经不起它花:可同时精致的博客会带给来浏览的Oier们更多东西 ...
- git 使用报错记录
错误一:git fatal: unable to write new index file主要原因就是服务器磁盘空间不够导致的,增加服务器空间就OK了在百度上面搜索没得到什么有效信息,在gooogle ...
- jmeter作接口测试入门的简单使用说明
一.添加接口信息 1.添加线程组 (1)路径如下图: (2)部分内容解释 a. Number of Threads(users):线程数 b. Ramp-Up Period(in seconds) ...
- jquery 实践操作:load()方法
最近决定总结下实际项目中的 JS 相关的一些操作,因此开启此系列,记录使用过程中用到的一些实用操作问题和解决方法,给自己一份记录. jquery load方法是对jQuery.ajax()进行封装以方 ...
- 大陆争霸(bzoj 1922)
Description 在一个遥远的世界里有两个国家:位于大陆西端的杰森国和位于大陆东端的 克里斯国.两个国家的人民分别信仰两个对立的神:杰森国信仰象征黑暗和毁灭 的神曾·布拉泽,而克里斯国信仰象征光 ...
- MySQL不容忽视SQL_MODE的设置
CREATE DATABASE db_test; CREATE TABLE `tb1` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT ...
- Java语法糖(一)
概述 语法糖(Syntactic Sugar):主要作用是提高编码效率,减少编码出错的机会. 解语法糖发生在Java源码被编译成Class字节码的过程中,还原回简单的基础语法结构. 语法糖之一:泛型( ...
- shell script timer and 無限迴圈
while : do echo " infinite loop" sleep 2; done
- [SaltStack] Crontab部署
salt.states.cron 接着早上安静的时间, 在这里梳理下crontab相关的东东, 主要是crontab的统一管理维护, 包括新增, 修改, 下线等等. 下面就详细看下crontab的sl ...
- 倒计时器CountDownLatch与同步屏障CyclicBarrier
CountDownLatch CountDownLatch是一个非常实用的多线程控制工具类,这个工具通常用来控制线程等待,它可以让某一个线程等待直到倒计时结束,再开始执行.在这里指CountDownL ...