jquery weui ajax滚动加载更多

本文介绍了一种使用jquery-weui实现手机端AJAX滚动加载更多的方法。通过设置状态标记来控制加载过程,并利用infinite插件实现滚动加载效果。同时,通过AJAX请求获取数据并动态更新页面。

手机端使用jquery weui制作ajax滚动加载更多。

演示地址:http://wx.cnkfk.com/nuol/static/fpage.html

代码:

  1. <!DOCTYPE html>    
  2. <html lang="en">    
  3. <head>    
  4.     <meta charset="UTF-8">    
  5.     <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">    
  6.     <title>滚动加载更多</title>    
  7.     <link rel="stylesheet" href="http://cdn.bootcss.com/weui/1.1.1/style/weui.min.css">    
  8.     <link rel="stylesheet" href="http://cdn.bootcss.com/jquery-weui/1.0.1/css/jquery-weui.min.css">    
  9.     <script src="http://cdn.bootcss.com/jquery/1.11.0/jquery.min.js"></script>    
  10.     <script src="http://cdn.bootcss.com/jquery-weui/1.0.1/js/jquery-weui.min.js"></script>    
  11. </head>    
  12. <body>    
  13. <div id="list">    
  14.     
  15. </div>    
  16. <div class="weui-loadmore">    
  17.     <i class="weui-loading"></i>    
  18.     <span class="weui-loadmore__tips">正在加载</span>    
  19. </div>    
  20. <script>    
  21.     $(function () {   
  22.         max=10,page=1;  
  23.         //进入页面加载  
  24.         load(page);    
  25.         //滚动加载更多  
  26.         var loading = false;  //状态标记  
  27.         $(document.body).infinite().on("infinite", function() {    
  28.             if(loading) return;    
  29.             loading = true;    
  30.             setTimeout(function() {    
  31.                 page=page+1;  
  32.                 load(page);  
  33.                 loading = false;    
  34.             }, 1000);   //模拟延迟    
  35.         });    
  36.         //ajax加载数据  
  37.         function load(p) {    
  38.             var url="http://123.56.119.1:3000/words/search";  
  39.             var data={"offset":(p-1)*max,"limit":max}  
  40.             $.get(url,data,function (res) {  
  41.                 if(res.data.length==0||res.data.length==res.num){  
  42.                     //没有数据时  
  43.                     $(document.body).destroyInfinite()  
  44.                     $(".weui-loadmore").html('<div class="weui-loadmore weui-loadmore_line"> <span class="weui-loadmore__tips">暂无数据</span> </div>')  
  45.                 }  
  46.                 for(var i=0;i<res.data.length;i++){  
  47.                     $("#list").append('<a href="javascript:void(0);" class="weui-media-box weui-media-box_appmsg">'  
  48.                             +'<div class="weui-media-box__hd">'  
  49.                             +'<img class="weui-media-box__thumb" src="http://123.56.119.1:3000/upload/'+res.data[i].image+'">'  
  50.                             +'</div>'  
  51.                             +'<div class="weui-media-box__bd">'  
  52.                             +'<h4 class="weui-media-box__title">'+res.data[i].content+'</h4>'  
  53.                             +'</div>'  
  54.                             +'</a>')  
  55.                 }  
  56.             })  
  57.         }  
  58.     })    
  59. </script>    
  60. </body>    
  61. </html>  
<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">  
    <title>滚动加载更多</title>  
    <link rel="stylesheet" href="http://cdn.bootcss.com/weui/1.1.1/style/weui.min.css">  
    <link rel="stylesheet" href="http://cdn.bootcss.com/jquery-weui/1.0.1/css/jquery-weui.min.css">  
    <script src="http://cdn.bootcss.com/jquery/1.11.0/jquery.min.js"></script>  
    <script src="http://cdn.bootcss.com/jquery-weui/1.0.1/js/jquery-weui.min.js"></script>  
</head>  
<body>  
<div id="list">  
  
</div>  
<div class="weui-loadmore">  
    <i class="weui-loading"></i>  
    <span class="weui-loadmore__tips">正在加载</span>  
</div>  
<script>  
    $(function () { 
        max=10,page=1;
        //进入页面加载
        load(page);  
        //滚动加载更多
        var loading = false;  //状态标记
        $(document.body).infinite().on("infinite", function() {  
            if(loading) return;  
            loading = true;  
            setTimeout(function() {  
                page=page+1;
                load(page);
                loading = false;  
            }, 1000);   //模拟延迟  
        });  
        //ajax加载数据
        function load(p) {  
            var url="http://123.56.119.1:3000/words/search";
            var data={"offset":(p-1)*max,"limit":max}
            $.get(url,data,function (res) {
                if(res.data.length==0||res.data.length==res.num){
                    //没有数据时
                    $(document.body).destroyInfinite()
                    $(".weui-loadmore").html('<div class="weui-loadmore weui-loadmore_line"> <span class="weui-loadmore__tips">暂无数据</span> </div>')
                }
                for(var i=0;i<res.data.length;i++){
                    $("#list").append('<a href="javascript:void(0);" class="weui-media-box weui-media-box_appmsg">'
                            +'<div class="weui-media-box__hd">'
                            +'<img class="weui-media-box__thumb" src="http://123.56.119.1:3000/upload/'+res.data[i].image+'">'
                            +'</div>'
                            +'<div class="weui-media-box__bd">'
                            +'<h4 class="weui-media-box__title">'+res.data[i].content+'</h4>'
                            +'</div>'
                            +'</a>')
                }
            })
        }
    })  
</script>  
</body>  
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值