最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

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

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

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


 

復(fù)制代碼 代碼如下:

//滾動條在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)的話就更簡單了,
復(fù)制代碼 代碼如下:

$(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屬性,直接依葫蘆畫瓢即可。

相關(guān)文章

  • javascript代碼編寫需要注意的7個小細節(jié)小結(jié)

    javascript代碼編寫需要注意的7個小細節(jié)小結(jié)

    每種語言都有它特別的地方,對于JavaScript來說,使用var就可以聲明任意類型的變量,這門腳本語言看起來很簡單,然而想要寫出優(yōu)雅的代碼卻是需要不斷積累經(jīng)驗的。本文利列舉了JavaScript初學(xué)者應(yīng)該注意的七個細節(jié),與大家分享。
    2011-09-09
  • JavaScript實現(xiàn)自定義拖拽排序列表

    JavaScript實現(xiàn)自定義拖拽排序列表

    在Web開發(fā)中,拖拽排序是一個常見的需求,它允許用戶通過拖拽的方式重新排列列表項的順序,本文將介紹如何使用原生JavaScript實現(xiàn)這一功能,需要的可以了解下
    2024-01-01
  • JavaScript中如何判斷一個值是否為Null

    JavaScript中如何判斷一個值是否為Null

    我們在開發(fā)的時候經(jīng)常會判斷一個null值,那么我們該如何去判斷呢?下面這篇文章主要給大家介紹了關(guān)于JavaScript中如何判斷一個值是否為Null的相關(guān)資料,需要的朋友可以參考下
    2023-12-12
  • js怎么覆蓋原有方法實現(xiàn)重寫

    js怎么覆蓋原有方法實現(xiàn)重寫

    這篇文章主要介紹了js怎么覆蓋原有方法實現(xiàn)重寫,需要的朋友可以參考下
    2014-09-09
  • javascript中為某個元素指定事件的三種方式

    javascript中為某個元素指定事件的三種方式

    在javascript中,可以為某個元素指定事件,指定的方式有以下三種使用onclick屬性,使用addEvenListener()方法
    2014-08-08
  • 15個非常實用的JavaScript代碼片段

    15個非常實用的JavaScript代碼片段

    這篇文章主要為大家詳細介紹了15個非常實用的JavaScript代碼片段,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • js中class的點擊事件沒有效果的解決方法

    js中class的點擊事件沒有效果的解決方法

    下面小編就為大家?guī)硪黄猨s中class的點擊事件沒有效果的解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • JS動畫定時器知識總結(jié)

    JS動畫定時器知識總結(jié)

    這篇文章給大家總結(jié)了關(guān)于JS動畫中定時器的相關(guān)用法以及相關(guān)知識點總結(jié),有需要的朋友可以參考學(xué)習(xí)下。
    2018-03-03
  • bootstrap折疊調(diào)用collapse()后data-parent不生效的快速解決辦法

    bootstrap折疊調(diào)用collapse()后data-parent不生效的快速解決辦法

    今天做的項目,用到了bootstrap的折疊功能,這個功能需要只展開一個折疊框,點擊一個就會自動隱藏另一個,實現(xiàn)起來也很容易,但是在測試時同事提出了一個bug,怎么解決呢?今天小編通過本教程給大家分享下
    2017-02-02
  • javascript阻止瀏覽器后退事件防止誤操作清空表單

    javascript阻止瀏覽器后退事件防止誤操作清空表單

    由于誤操作比較多,有時沒有選中文本框,然后不小心按了退格之后,剛剛辛苦填好的表單就什么也后退的沒有了,針對這個問題,本文給出了詳細的解決方法,需要朋友不要錯過
    2013-11-11

最新評論

南平市| 临漳县| 满城县| 阳山县| 陇南市| 安西县| 格尔木市| 闽清县| 永仁县| 吕梁市| 城步| 鹤庆县| 寿光市| 林西县| 齐河县| 镶黄旗| 通州市| 铜川市| 习水县| 子洲县| 会宁县| 丘北县| 二连浩特市| 芦山县| 南通市| 永宁县| 玉环县| 玉树县| 都江堰市| 广昌县| 杨浦区| 藁城市| 平湖市| 会昌县| 锦州市| 安福县| 永兴县| 宝鸡市| 四子王旗| 大悟县| 德钦县|