滚动加载3——手机版

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
</head>
<body>

<div style="height:800px;width:100%;border:1px solid red"></div>

<div id="tip" style="height:150px;width:100%;background-color:gray;display:none;">加载中。。。</div>
<script>
/**
 * param callback 加载事件触发时的操作
 * param tips 提示信息处理
 */
ScrollLoader = function(callback, tips){
    var isLoading = false;
    window.onscroll = function (ev) {
        if(isLoading) return;
        var visiable_h = document.body.clientHeight;
        var top = document.body.scrollTop;
        var total_h = document.body.scrollHeight;
        //当窗口可视区域+可视区域到文档顶部的距离 >= 整个文档的高度
        if (visiable_h  + top >= total_h - 5) {
            isLoading = true;
            tips.start();
            setTimeout(function(){
                tips.finish(callback);                
                isLoading = false;                
            }, 2000); 
        };
    };
}


//-----------------用户代码--------------------
var num = 1;
function callback(){
    for(var i=0;i<2;i++){
        var element = document.createElement("div");
        element.style.height = "100px";
        element.style.width = "100%";
        element.style.border = "1px solid blue";                
        element.style.margin = "3px auto";
        if(num%2==0) element.style.backgroundColor = "green";
        element.innerHTML = ""+num+"";                
        document.body.appendChild(element);                
    }
    num++;
}

var tips = {
    start:function(){
        var tip = document.createElement("div");
        tip.style.display = "block";
        tip.style.height = "150px";
        tip.style.width = "100%";
        tip.style.backgroundColor = "gray";
        tip.innerHTML = "加载中。。。";
        //tip.className = "tip";
        document.body.appendChild(tip);
        //tip.style.top = (document.body.scrollTop + 150)+"px";
    },
    finish:function(callback){
        var tip = document.body.lastChild;
        //tip.style.display = "none";
        document.body.removeChild(tip);
        callback();
    }
}

ScrollLoader(callback, tips);
</script>
</body>
</html>

 

posted @ 2015-04-02 09:32  PaganMonkey  阅读(107)  评论(0编辑  收藏  举报

喜欢的话可以打赏一下哦!!!

支付宝

微信