• 原生js触碰到底部触发函数;


      /**
      function __morebook(){
        console.log(123)
      }
      ScrollBottom(function(){__morebook();});
      **/
    
      //如果直接写一个如下:
      //  ScrollBottom 方法里有个参数x,x作为函数带参数。然后通过doFun去调用;
      //  为何doFun做为参数也调用了,是因为方法里有个setTimeOut;
      //  这样写的意义是什么呢?是将scrollBottom写成公用方法,可以通过任何方式点击或者滚动都可以调用;
      ScrollBottom(function(){console.log('碰到底部:',123)})
      //点击: $("jsMoreTip").click(function () { __morebook() });
    
          //滚动条到底部触发的事件
      function ScrollBottom(x){
        function __getScrollTop(){
            var scrollTop = 0, bodyScrollTop = 0, documentScrollTop = 0;
            if(document.body){bodyScrollTop = document.body.scrollTop;}
            if(document.documentElement){documentScrollTop = document.documentElement.scrollTop;}
            scrollTop = (bodyScrollTop - documentScrollTop > 0) ? bodyScrollTop : documentScrollTop;
            return scrollTop;
        }
        function __getWindowHeight(){
            var windowHeight = 0;
            if(document.compatMode == "CSS1Compat"){
            windowHeight = document.documentElement.clientHeight;
            }else{
              windowHeight = document.body.clientHeight;
            }
            return windowHeight;
        }
        function __getScrollHeight(){
            var scrollHeight = 0, bodyScrollHeight = 0, documentScrollHeight = 0;
            if(document.body){bodyScrollHeight = document.body.scrollHeight;}
            if(document.documentElement){documentScrollHeight = document.documentElement.scrollHeight;}
            scrollHeight = (bodyScrollHeight - documentScrollHeight > 0) ? bodyScrollHeight : documentScrollHeight;
            return scrollHeight;
        }
        window.onscroll = function(){
            if(__getScrollTop() + __getWindowHeight() == __getScrollHeight())
            doFun(x)
        };
      }
      function doFun(x){setTimeout(x,0)}
  • 相关阅读:
    区块链匿名资产的发行原理
    14亿条记录,12c 做不到2小时内变更表结构字段类型?
    MySQL修改有存量数据的数据库字符集实战
    Linux之HugePages快速配置
    快手大数据架构师:实时OLAP分析平台这么做,才可能超越抖音
    Oracle 12c 能否在2小时内完成一张14亿条记录的表结构字段类型变更
    Redis NoSQL
    对python virtualenv虚拟环境的理解
    16、SpringBoot------整合MapStruct
    16、SpringBoot------整合MapStruct
  • 原文地址:https://www.cnblogs.com/weiyf/p/9876593.html
Copyright © 2020-2023  润新知