1. 程式人生 > >JQuery滾動載入更多資料例項

JQuery滾動載入更多資料例項

載入更多資料,這是現在網頁的基本需求,由於本人菜鳥,一直都不會,現在有時間了好好研究了下,以豆瓣API為例:

    <div class="container">
        <div class="top">
            <span>正在熱映</span>
            <span class="more">更多></span>
        </div>
        <div class="item">
            <ul class="ul"
> <div class="y_loading_easy" id="J_loadmore">努力載入中...</div> </ul> </div> </div>
JS程式碼如下:
```
 $(function () {
 //滾動載入
    var stop = true;
    var start = 0;
    $.ajaxSetup({async:false});
    function getData(url){
        $.ajax({
            type:"get",//跨域訪問時只能用get
            url:url,//要訪問的api地址
            dataType:"jsonp",
            success:function(data){
                var d = data.subjects;
                var html = '';
                for(i in d){
                    html += '<li>'
                    +'<span class="img-span"><img src="'+d[i].images.large+'">'+'</span>'
                    +'<p class="name">'+d[i].title+'</p>'
                    +'</li>'
                    start++;
                }
                stop = true;

                $('.ul').append(html);
            },
        });
    }
    getData('https://api.douban.com/v2/movie/in_theaters');
    $(window).scroll(function(){
        var url = "https://api.douban.com/v2/movie/in_theaters?start="+start+"&count=20";
        var totalheight = parseFloat($(window).height()) + parseFloat($(window).scrollTop());
        if($(document).height() <= totalheight +120){
            if(stop == true){
                stop = false;
                $('#j_loadmore').addClass('enabled');
                getData(url);
            }
        }
    })
})
就這樣實現了滾動螢幕時載入更多資料,希望能幫到各位