Get rolling element distance from the bottom

Years past are not reusable, the future of those who can not see the person must not be lost.

First understood
scrollTop as scroll bar to scroll distance in the Y axis.

clientHeight a highly visible area of the content.

scrollHeight content plus the visible region from the height of the overflow (scrolling) of.
If you do not understand plain text, then you can write your own demo premise that there is a container vessel scroll bar

From the introduction of three properties can be seen, the conditions in the end part of the scroll bar is the scrollTop + clientHeight == scrollHeight.

Native wording:

//滚动条在Y轴上的滚动距离
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 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;
}
//浏览器视口的高度
function getWindowHeight(){
  var windowHeight = 0;
  if(document.compatMode == "CSS1Compat"){
    windowHeight = document.documentElement.clientHeight;
  }else{
    windowHeight = document.body.clientHeight;
  }
  return windowHeight;
}
window.onscroll = function(){
  if(getScrollTop() + getWindowHeight() == getScrollHeight()){
    alert("已经到最底部了!!");
  }
};

jQuery writing:

//jquery
$(window).scroll(function(){
  var scrollTop = $(this).scrollTop();   
  var scrollHeight = $(document).height();
  var windowHeight = $(this).height();
  if(scrollTop + windowHeight == scrollHeight){
    alert("已经到最底部了!");
  }
});

My QQ: 2489757828 a problem, then we can discuss
my private blog: Lida Xuan

Guess you like

Origin blog.csdn.net/weixin_43553701/article/details/93359290