<!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列表自动加载更多的更多相关文章

  1. jQuery自动加载更多程序

    1.1.1 摘要 现在,我们经常使用的微博.微信或其他应用都有异步加载功能,简而言之,就是我们在刷微博或微信时,移动到界面的顶端或低端后程序通过异步的方式进行加载数据,这种方式加快了数据的加载速度,由 ...

  2. 基于JQuery实现滚动到页面底端时自动加载更多信息

    基于JQuery实现滚动到页面底端时自动加载更多信息 关键代码: 代码如下: var stop=true; $(window).scroll(function(){ totalheight = par ...

  3. jQuery自动加载更多程序(转)

    jQuery自动加载更多程序   1.1.1 摘要 现在,我们经常使用的微博.微信或其他应用都有异步加载功能,简而言之,就是我们在刷微博或微信时,移动到界面的顶端或低端后程序通过异步的方式进行加载数据 ...

  4. UWP-ListView到底部自动加载更多数据

    原文:UWP-ListView到底部自动加载更多数据 ListView绑定的数据当需要“更多”时自动加载 ListView划到底部后,绑定的ObservableCollection列表数据需要加载的更 ...

  5. ListView下拉刷新,上拉自动加载更多

    下拉刷新,Android中非常普遍的功能.为了方便便重写的ListView来实现下拉刷新,同时添加了上拉自动加载更多的功能.设计最初是参考开源中国的Android客户端源码.先看示例图.       ...

  6. jQuery上拉加载更多

    <header id="header">首 页</header> <section id="main"> <ul id ...

  7. Jquery点击加载更多

    一.点击加载更多有点像分页获取数据类似,下面是本人写的一个简单的小例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona ...

  8. 实现Android ListView 自动加载更多内容

    研究了几个小时终于实现了Android ListView 自动加载的效果. 说说我是怎样实现的.分享给大家. 1.给ListView增加一个FooterView,调用addFooterView(foo ...

  9. Android RecyclerView 瀑布流滑动到最后自动加载更多

    mRecycleView.setOnScrollListener(new RecyclerView.OnScrollListener(){ //用来标记是否正在向最后一个滑动,既是否向下滑动 bool ...

随机推荐

  1. bzoj 4465 游戏中的学问(game)

    题目描述 输入 输出 样例输入 3 1 1000000009 样例输出 2 提示 solution 令f[i][j]表示i个人围成j个圈的方案数 啥意思呢 可以把一个人塞进前面的圈里(i-1种塞法) ...

  2. set和dict

    dict属于mapping类型 from collections.abc import Mapping,MutableMapping from collections.abc import __all ...

  3. git 以及 工作区 版本库 暂存区

    https://www.jianshu.com/p/a308acded2ce            这个博客介绍的比较简单 https://blog.csdn.net/qq_31828515/arti ...

  4. Android开发基础(java)1

    基本概念: 一.结构化方法与结构化程序设计 1.结构化方法:源自迪克斯特拉(E.W.Dijkstra)提出的结构化概念,采用自顶向下.逐步求精的模块化设计方法.核心是将工作分成若干个相互独立的模块,使 ...

  5. delphi 内存泄露 分析

  6. 转载自——Json.Net如何在序列化之前修改属性值

    今天写一个Json.net比较偏门的用法,也许你很久都用不到,也许你明天就能派上用场. 我们都知道 Json.net 序列话的用法 Test test = new Test() { A = " ...

  7. UVA 11059 Maximum Product【三层暴力枚举起终点】

    [题意]:乘积最大的子序列.n∈[1,10],s∈[-10,10] [代码]: #include<bits/stdc++.h> using namespace std; int a[105 ...

  8. Android学习--持久化(二) SharedPreferences

    SharedPreferences SharedPreferences 也是通过一个简单的Demo来理解SharedPreferences我们该怎么用,说说自己站在一个iOS开发的角度来看这个Shar ...

  9. Hadoop1和Hadoop2的区别是什么?

    [学习笔记] Hadoop1和Hadoop2的区别是什么?马 克-to-win @ 马克java社区:原来的Hadoop1的Mapreduce又管资源管理,又管数据处理和计算.而Hadoop2中的Ma ...

  10. Scala之Future超时

    最近在开发中使用akka http进行请求,返回的是一个future,并且要对future进行超时设置,不知怎么设置,因此学习了下. 一.Future阻塞 首先,scala中的future不支持内置超 ...