zoukankan      html  css  js  c++  java
  • 滚动加载更多内容

    滚动加载更多内容

     1 // 判断是否需要加载更多的内容
     2 function loadMoreData() {
     3     var viewH = $(window).height(); //可见高度
     4     var scrollTop = $(window).scrollTop(); //已滚动高度
     5     var contentH = $("html").get(0).scrollHeight; //内容实际高度
     6     console.log(contentH + "-" + viewH + "-" + scrollTop);
     7     // 当剩余未显示内容少于一定的高度时,执行加载
     8     if (contentH - viewH - scrollTop <= 300) {
     9         doLoadViewList();
    10     }
    11 }
    12 // 测试:加载内容
    13 function doLoadViewList() {
    14     var data = '<div class="view-list"></div>'
    15     $('.view-list-box').append(data);
    16 }
    17 
    18 /**
    19  * 频率控制
    20  * @param  {Function} fn           [需要调用的函数]
    21  * @param  {[type]}   delay        [延迟时间,单位毫秒]
    22  * @param  {[type]}   mustRunDelay [最大延迟时间,单位毫秒]
    23  */
    24 var throttle = function(fn, delay, mustRunDelay) {
    25     var timer = null;
    26     var t_start;
    27     return function() {
    28         var context = this,
    29             args = arguments,
    30             t_curr = +new Date();
    31         clearTimeout(timer);
    32         if (!t_start) {
    33             t_start = t_curr;
    34         }
    35         if (t_curr - t_start >= mustRunDelay) {
    36             fn.apply(context, args);
    37             t_start = t_curr;
    38         } else {
    39             timer = setTimeout(function() {
    40                 fn.apply(context, args);
    41             }, delay);
    42         }
    43     };
    44 };
    45 window.onscroll = throttle(loadMoreData, 50, 100);
  • 相关阅读:
    20170809--JS操作Select备忘
    20160711--C# 委托的三种调用示例(同步调用 异步调用 异步回调)【转载】
    C# 内存建表备忘
    富文本编辑器 CKeditor 配置使用
    20160520—JS打分控件
    20160513--js 弹出窗口带有iframe控件 备忘
    chart 简单应用
    mvc 简单整理
    ObjectDatasourse 的绑定及显示
    GridView 详述
  • 原文地址:https://www.cnblogs.com/huliang56/p/6694719.html
Copyright © 2011-2022 走看看