• h5页面列表滚动加载数据


    h5列表滚动加载数据很常见,以下分享下今天做的案例:

    前言

    这个效果实现需要知道三个参数

    1. scrollTop  --  滚动条距离顶部的高度
    2. scrollHeight -- 当前页面的总高度(body总高度)
    3. clientHeight --  当前可视的页面高度(设备窗口的高度)
    

    html

    <!--加载提示框-->
    <div id="loading"></div>
    

    css

    #loading {
      height: 32px;
      line-height: 32px;
      text-align: center;
    }
    

    js

    //状态标记
    var loading = true;
    var start = 1;//当前页
    var length = 5;//每页条数
    
    //列表滚动加载数据
    $(window).scroll(function () {
        var scrollTop = $(this).scrollTop();    //滚动条距离顶部的高度
        var scrollHeight = $(document).height();   //当前页面的总高度
        var clientHeight = $(this).height();    //当前可视的页面高度
        var totalHeight = parseFloat(clientHeight) + parseFloat(scrollTop);
    
        if (scrollHeight - totalHeight < 40) {  注:-40 上拉加载更灵敏
            if (!loading) {
                loading = true;
                $('#loading').show();
                $('#loading').text("正在加载...");
                start += 1;
    
                //加载数据
                loadData(start, length);
            } else {
                return false;
            }
        }
    });
    
    
    function loadData(start, length) {
        $.get(url, {start: start, length: length}, function (result) {
            var dataList = result.resultData.records;
            if (dataList.length > 0) {
                var opthtml = "";
                dataList.forEach((value, index, array) => {
                    ///拼接html
                    opthtml += ""
                });
                $("#listDiv").append(opthtml)
            } else {
                $('#loading').text("完全加载");
                //延时隐藏
                // setTimeout(() => {
                //     $("#loading").hide();
                // }, 1000)
                return false;
            }
            setTimeout(() => {
                //内容获取后,隐藏加载提示
                $("#loading").hide();
                loading = false;
            }, 1000)
        });
    }
    
  • 相关阅读:
    查看 并发请求数及其TCP连接状态【转】
    nohup使用(转)
    Linux下高cpu解决方案(转载)
    Java.lang.String 乱码反编译
    apache2.2 搭载本地中转服务器
    转:对于服务器AdminServer, 与计算机Machine-0相关联的节点管理器无法访问
    感兴趣的github项目
    .NET CORE学习
    使用hMailServer搭建邮件服务器
    记录Sqlserver2012附加Sqlserver2008的数据库出错的解决方案
  • 原文地址:https://www.cnblogs.com/joe-tang/p/12375282.html
Copyright © 2020-2023  润新知