Jquery点击加载更多

一、点击加载更多有点像分页获取数据类似,下面是本人写的一个简单的小例子

复制代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width" />
    <meta name="viewport" content="initial-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">

    <link href="~/Content/Phone/css/list_css.css" rel="stylesheet" />
    <title>新闻列表</title>
</head>
<body>
    <div id="list-new">

    </div>
    <!--加载更多按钮-->
    <div class="js-load-more">加载更多</div>

<script src="~/Content/Phone/js/zepto.min.js"></script>
<script>
$(function(){

    /*初始化*/
    var counter = 0; /*计数器*/
    var pageStart = 1; /*offset*/
    var pageSize = 4; /*size*/



    /*首次加载*/
    getData(pageStart, pageSize);

    /*监听加载更多*/
    $(document).on('click', '.js-load-more', function () {
        pageStart++
        getData(pageStart, pageSize);
    });
    function getData(offset,size){
        $.ajax({
            type: 'GET',
            url: '/PhoneManage/Notice/listJson?pageSize=' + size + '&pageIndex=' + offset, //这里offset,size无作用,仅方便调试
            dataType: 'json',
            success: function(reponse){
                var data = reponse;
                var sum = reponse.length;
                var result = '';
                /************业务逻辑块:实现拼接html内容并append到页面*****************/
                //console.log(offset , size, sum);

                for (var i = (offset -1) * size; i < sum; i++) {                
                    result += '<a href="/PhoneManage/Notice/text?id=' + data[i].F_Id + '"><div class="list"><div class="text"><h3>' + data[i].F_Title + '</h3><p>'
                            + data[i].F_CreatorTime + '</p></div><div class="back"><img src="/Content/Phone/images/back1.png" width="32" /></div></div></a>';
                }
                $('#list-new').append(result);
                /*******************************************/
                /*隐藏more*/
                if ((offset * size) > sum) {                
                    $(".js-load-more").hide();
                }else{
                    $(".js-load-more").show();
                }
            },
            error: function(xhr, type){
                alert('Ajax error!');
            }
        });
    }
});
</script>
</body>
</html>
复制代码

二、点击加载更多,需要注意是在原来数据的基础上加载出来新的数据,所以拼接html是关键

posted @   你也很优秀  阅读(14828)  评论(2编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示