寫了一個下拉刷新插件

pullRefresh.js

pullRefresh.js 是一款下拉刷新插件,開放一些鉤子函數,能夠在刷新的各類狀態中作一些操做,包括刷新中的動畫及dom操做,另外開放下拉框的實時下拉數據,能夠徹底自定義本身的下拉組件,作出不一樣下拉動畫效果。html

pullRefresh.js 支持兩種下拉模式,一種是總體下拉,一種是loading框下拉,以下
demo1 https://tls1234.github.io/pul...
demo2 https://tls1234.github.io/pul...git

html 結構

<div class="container" style="margin-top:-60px;">
        <div class="loadingContainer">
            <div class="content">
                <div class="arrowIcon"></div>
                <div class="loadingIcon" style="display:none"></div>
                <span class="text">下拉刷新</span>
            </div>
        </div>
        <ul class="list">
            <li class="item1">item1</li>
            <li class="item2">item2</li>
            <li class="item3">item3</li>
            <li class="item4">item4</li>
            <li class="item5">item5</li>
            <li class="item6">item6</li>
            <li class="item7">item7</li>
            <li class="item8">item8</li>
            <li class="item9">item9</li>
            <li class="item10">item10</li>
        </ul>
    </div>

用法  

只須要new一個 PullRefresh()對象github

new PullRefresh( )

參數

var flag1 = true;
var flag2 = true;   //這兩個變量爲了防抖,不要更改
var pullRefresh = new PullRefresh({
            pullContainer: container,        //父元素容器節點
            loadingContent: loadingContainer,   //刷新框節點
            wholePullMode: true,           //總體下拉模式,如上邊demo1
            loadingBoxPullMode: false,        //刷新框下拉模式,如上邊demo2
            MaxLoadingHeight: 60,           //下拉刷新的臨界值和下拉框的高度一致
            transition: '.3s ease',          //回彈過渡效果
            loadingBefore: function(hasScroll) {  //小於刷新臨界值時執行的函數,其中 hasScroll爲下拉的距離,能夠根據距離自定義動畫效果
                if(hasScroll < 60){           //小於刷新臨界值時執行
                    if(flag1 == true){       
                        //在這裏執行dom操做
                    }
                    flag1 = false; 
                    flag2 = true;
                }
            },
            prepareLoading: function(hasScroll) {  //大於刷新臨界值時執行的函數
                if(hasScroll > 60){            //大於刷新臨界值時執行
                    if(flag2 == true){          
                        //在這裏執行dom操做
                    }
                    flag2 = false;  
                    flag1 = true;
                }
            },
            loading: function() {    //刷新  
                //刷新時的dom操做
            },
            ajax: function() {
                //ajax請求及插入列表
            },
            loaded: function(hasScroll) {
                //加載完成的dom操做
            }
        })

歡迎star https://github.com/tls1234/pu...ajax

相關文章
相關標籤/搜索