欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

判斷滾動條到底部的JS代碼

 更新時間:2013年11月04日 16:53:53   作者:  
這篇文章介紹了判斷滾動條到底部的JS代碼,有需要的朋友可以參考一下

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

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

clientHeight為內容可視區(qū)域的高度。

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

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

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


 

復制代碼 代碼如下:

//滾動條在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("you are in the bottom!");
  }
};


如果用jquery來實現(xiàn)的話就更簡單了,
復制代碼 代碼如下:

$(window).scroll(function(){
  var scrollTop = $(this).scrollTop();
  var scrollHeight = $(document).height();
  var windowHeight = $(this).height();
  if(scrollTop + windowHeight == scrollHeight){
    alert("you are in the bottom");
  }
});

如果要判斷在某一個元素中的滾動條是否到底部,根據(jù)類似的思想,將document.body換成特定的元素即可,獲取scrollTop和scrollHeight的方式是一樣的,但是獲取元素可見高度需要用到offsetHeight屬性,直接依葫蘆畫瓢即可。

相關文章

  • element-ui 上傳圖片后標注坐標點

    element-ui 上傳圖片后標注坐標點

    有個組件庫的名稱叫做element-ui,基于Vue2.0開發(fā),提供了豐富的PC端組件,本文通過實例代碼給大家介紹element-ui 上傳圖片后標注坐標點的示例代碼,感興趣的朋友跟隨小編一起看看吧
    2021-07-07
  • 學習JavaScript鼠標響應事件

    學習JavaScript鼠標響應事件

    這篇文章主要帶領大家學習JavaScript鼠標響應事件,為大家分享了一個簡單的鼠標模擬案例,感興趣的小伙伴們可以參考一下
    2015-12-12
  • JS獲取多維數(shù)組中相同鍵的值實現(xiàn)方法示例

    JS獲取多維數(shù)組中相同鍵的值實現(xiàn)方法示例

    這篇文章主要介紹了JS獲取多維數(shù)組中相同鍵的值實現(xiàn)方法,結合實例形式分析了JS數(shù)組遍歷、判斷、鍵值獲取等操作技巧,需要的朋友可以參考下
    2017-01-01
  • js中通過split函數(shù)分割字符串成數(shù)組小例子

    js中通過split函數(shù)分割字符串成數(shù)組小例子

    分割字符串成數(shù)組的方法有很多,不過使用最多的還是split函數(shù),接下來為大家介紹下它的具體使用方法,感興趣的朋友可以參考下
    2013-09-09
  • JavaScript實現(xiàn)數(shù)組對象轉換為鍵值對的四種方式

    JavaScript實現(xiàn)數(shù)組對象轉換為鍵值對的四種方式

    本文探討了將包含 {icon: "abc", url: "123"} 形式對象的數(shù)組轉換為鍵值對形式的四種方法,并從實現(xiàn)方式的簡潔性、可讀性和性能角度進行了分析比較,感興趣的朋友可以參考下
    2024-02-02
  • JavaScript中new關鍵字的使用詳解

    JavaScript中new關鍵字的使用詳解

    在 JavaScript 中,new 關鍵字不僅是面向對象編程的關鍵要素,還是創(chuàng)建實例的重要手段,本文將深入探討 new 關鍵字的使用,理解它在對象創(chuàng)建和構造函數(shù)調用中的作用,需要的朋友可以參考下
    2023-11-11
  • js用Date對象的setDate()函數(shù)對日期進行加減操作

    js用Date對象的setDate()函數(shù)對日期進行加減操作

    在某個日期上加減天數(shù)來說,其實只要調用Date對象的setDate()函數(shù)就可以了,具體方法如下
    2014-09-09
  • webpack自動打包和熱更新的實現(xiàn)方法

    webpack自動打包和熱更新的實現(xiàn)方法

    這篇文章主要介紹了webpack自動打包和熱更新的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • ES6新語法Object.freeze和Object.seal基本使用

    ES6新語法Object.freeze和Object.seal基本使用

    這篇文章主要為大家介紹了ES6新語法Object.freeze和Object.seal基本使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • Bootstrap每天必學之日期控制

    Bootstrap每天必學之日期控制

    Bootstrap每天必學之日期控制,對Bootstrap日期控制感興趣的小伙伴們可以參考一下
    2016-03-03

最新評論