• 原生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)}
  • 相关阅读:
    delete
    What's an Aggregate Root?
    Mediator Pattern中介者模式
    Domain events: design and implementation
    "ISerializable" should be implemented correctly
    Package version is always 1.0.0 with dotnet pack
    CA1005: Avoid excessive parameters on generic types
    Event Sourcing pattern
    Command and Query Responsibility Segregation (CQRS) pattern
    Implementing event-based communication between microservices (integration events)
  • 原文地址:https://www.cnblogs.com/weiyf/p/9876593.html
Copyright © 2020-2023  润新知