1.使用JQuery實現(xiàn)加載更多功能

代碼如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style>
        </style>
    </head>
    <body>
    <div class="content">1</div>
    <div class="content">2</div>
    <div class="content">3</div>
    <div class="content">4</div>
    <button class="loadingMore">加載更多</button>
    
 <script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
    <script type="text/javascript">
        
    $(function(){
        
        var autoScrollSign = 0;
        
        //每次滾動添加3頁內容
        $(document).scroll(function() {
            var scrollH = $(document).scrollTop();  //滾動高度
            var contentH = $(document).height();  //內容高度
            
            //如果滾動條與內容高度相差1200px則添加頁面內容
            if((contentH-scrollH) < 1200 && autoScrollSign<3){
                inputNextPage(3);
                autoScrollSign++;
            }
         
        });
        
        //點擊加載更多則加載一頁內容 。
        $(".loadingMore").click(function(){
            var classArray = document.getElementsByClassName("content");
            var length = classArray.length;
            var nowScrollTop = $(document).scrollTop();
            inputNextPage(1);
            $(document).scrollTop(nowScrollTop);
            autoScrollSign = 0;
        });
        
        //該參數(shù)顯示當前的內容數(shù)目
        var divSign = 5;
        
        //添加內容方法,pageNum可以設置每次添加的頁數(shù),其中for循環(huán)中的4表示每次添加4條內容,可以自定義修改
        function inputNextPage(pageNum){
            for (var i = 0; i < pageNum*4; i++) {
                var classArray = document.getElementsByClassName("content");
                var lastDom = classArray[classArray.length-1];
                var newDom = document.createElement("div");
                newDom.className="content";
                newDom.innerHTML = divSign++;
                insertAfter(newDom,lastDom);
            }
        }
        
        function insertAfter(newElement, targentElement) {
            var parent = targentElement.parentNode;
            if (parent.lastChild == targentElement) {
                parent.appendChild(newElement);
            } else {
                parent.insertBefore(newElement, targentElement.nextSibling);
            }
        }
    });
    </script>
    <style>
        .content{
            width: 90%;
            margin:5%;
            height: 300px;
            background: red;
        }
    </style>
    </body>
</html>

展示效果如圖:


1_1.gif

??其他需要修改的地方主要在inputNextPage()這個方法中,將從后臺請求到的頁面數(shù)據(jù)在這個方法中添加。另外可能暫沒有做兼容性測試,在IE中可能會有問題,兼容性應該主要在獲取內容和滾動條高度這一部分,后續(xù)如果有空也許會對IE兼容。(目前已對IE兼容)

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容