上拉數據加載


上拉數據加載

最近項目中需要對大量數據進行處理,鑒於項目是移動端項目,就采用類似於懶加載的上拉加載進行數據處理。

網上也找了很多插件,最后感覺挺繁瑣,干脆自己走了一個簡單的邏輯進行處理,話不多說,貼代碼:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>上拉加載數據測試</title>
    <meta name="viewport" content="width=device-width">
    <style>
        .cont p{
            height: 200px;
            line-height: 200px;
            font-size: 26px;
            text-align: center;
            width: 100%;
            border-bottom: 1px solid #ddd;
        }
    </style>
</head>
<body>
<div class="cont">
    <p>第1頁</p>
    <p>第2頁</p>
    <p>第3頁</p>
    <p>第4頁</p>
    <p>第5頁</p>
    <p>第6頁</p>
    <p>第7頁</p>
    <p>第8頁</p>
    <p>第9頁</p>
    <p>第10頁</p>
</div>
</body>
<script src="js/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
    loadData();
    function loadData(){
        var range = 50,maxpage = 5,page = 1,totalHeight=0;
        $(window).scroll(function(){
            var scrollHeight = $(window).scrollTop();//頁面卷起的高度
            totalHeight = parseFloat($(window).height())+parseFloat(scrollHeight);//頁面文檔高度+頁面卷起的高度頁面卷起的高度
            if(($(document).height()-range) <= totalHeight && page != maxpage){
                $('.cont').append('<p>增添條數</p>');
                page++;
            }
        })
    }
    /*實際項目中maxPage並不是前端進行寫死的值,這里只是一個簡單的demo,實際中前端實現上拉加載對於后台來說是分頁功能實現。
    * 因此實際中最大頁碼數應該是由后台進行返回的
    * range是元素底部距離可視區高度差值,保證了用戶在上拉加載的時候的體驗度。
    * */
</script>
</html>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM