美文网首页
移动端上滑加载更多

移动端上滑加载更多

作者: yyshang | 来源:发表于2019-06-17 14:49 被阅读0次

原理:
scrollHeight即真实内容的高度;

clientHeight比较好理解,是视窗的高度,就是我们在浏览器中所能看到内容的高度;

scrollTop是视窗上面隐藏掉的部分。

1 如果真实的内容比视窗高度小,则一直加载到超过视窗,
2 最直接的判断不就是 :scrollTop+可视部分(设备高度)==文档(真是高度)就是滑到了底部了。

<script >
    /*第一种*/
    $(function(){
 
        $(window).scroll(function(){
 
            var scrollH = document.documentElement.scrollHeight;
 
            var clientH = document.documentElement.clientHeight;
            if (scrollH == (document.documentElement.scrollTop | document.body.scrollTop) + clientH){
                //加载新数据
 
                alert("加载新数据");
 
            }
        });
 
    });
    /*第二中 */
    //获取当前浏览器中的滚动事件
    $(window).off("scroll").on("scroll", function () {
 
        var scrollHeight = document.documentElement.scrollHeight || document.body.scrollHeight; //获取当前浏览器的滚动条高度
 
        if (scrollHeight <= ($(window).scrollTop() + $(window).height())) { //判断当前浏览器滚动条高度是否已到达浏览器底部,如果到达底部加载下一页数据信息
            $("#loadingImg").css('visibility','visible');
            setTimeout(function () {
 
               
                //模拟ajax
                for(m=0;m<5;m++){
                    $(".order-list").append(appendStr);
                }
                
            },1000)
        }
    });
 
</script>


// 给layui的table增加下拉到底部的判断

document.getElementsByClassName("layui-table-body")[0].onscroll = function(){
    var scrollTop = this.scrollTop,//页面上卷的高度
        wholeHeight = this.scrollHeight,//页面底部到顶部的距离
        divHeight = this.clientHeight;//页面可视区域的高度
    // 到底部
    if(scrollTop + divHeight >= wholeHeight){
        // do
    }
    //到顶部
    if(scrollTop==0){
        // do
    }
}
// 设置滚动元素的y轴位置
document.getElementsByClassName("layui-table-body")[0].scrollTop = 600;

相关文章

网友评论

      本文标题:移动端上滑加载更多

      本文链接:https://www.haomeiwen.com/subject/ffcbzqtx.html