首頁  >  文章  >  web前端  >  判斷滾動條到底部的JS程式碼_javascript技巧

判斷滾動條到底部的JS程式碼_javascript技巧

WBOY
WBOY原創
2016-05-16 17:17:48905瀏覽

判斷捲軸到底部,需要用到DOM的三個屬性值,即scrollTop、clientHeight、scrollHeight。

scrollTop為滾動條在Y軸上的滾動距離。

clientHeight為內容視覺區域的高度。

scrollHeight為內容視覺區域的高度加上溢出(滾動)的距離。

從這個三個屬性的介紹就可以看出來,滾動條到底部的條件即為scrollTop clientHeight == scrollHeight。

廢話不多少說,趕緊上程式碼(相容不同的瀏覽器)。


 

複製代碼 代碼如下:

///滾動條在Y軸上滾動距離

function getScrollTop(){
  var scrollTop = 0, bodyScrollTop = 0, documentScrollTop = 0;
  if(document.body){『 🎜>  }
  if(document.documentElement){
    documentScrollTop = document.documentElement.scrollTop;
] documentScrollTop;
  return scrollTop;
}

//文件的總高度

function getScrollHeight(){

  var scrollHeight = 0, bodyScrollHeight = 0, documentScrollHeight = 0;

  if(document.body){  }

  if(document.documentElement){
    documentScrollHeight = document.documentElement.scrollHeight;
  }Heroll; documentScrollHeight;
  return scrollHeight;
}

//瀏覽器視窗的高度

function getWindowHeight(){
  var windowHeight = 0;
  if(document.compatMode == "CSS1Compat"){

He 〔〕〕〕大〜. else{

    windowHeight = document.body.clientHeight;

  }

  return windowHeight;
}

window.onscroll = function(){
  if(getScrollTop() getWindowHeight() == getScrollHeight()){
   〜 >};


如果用jquery來實現的話就更簡單了,




複製代碼

代碼如下:

$(window).scroll(function(){  var scrollTop = $(this).scrollTop();  var scrollHeight = $.document). );  var windowHeight = $(this).height();  if(scrollTop windowHeight == scrollHeight){    〜); });
如果要判斷在某一個元素中的滾動條是否到底部,根據類似的思想,將document.body換成特定的元素即可,獲取scrollTop和scrollHeight的方式是一樣的,但是取得元素可見高度需要用到offsetHeight屬性,直接用葫蘆畫瓢即可。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn