JS判斷頁面是否出現滾動條

2022-05-06 03:57:06 字數 938 閱讀 5550

今天無聊,幫乙個網友解決乙個很無聊的問題,用js判斷頁面是否出現滾動條,在網上看了一些**,經過驗證並不起作用,下面是在網上搜尋到的**:

當可視區域小於頁面的實際高度時,判定為出現滾動條,即:

if (document.documentelement.clientheight < document.documentelement.offsetheight) scroll = true;

要使用 document.documentelement ,必須在頁面頭部加入宣告:

其實,這段**是不起作用的,因為他沒考慮到乙個問題,就是瀏覽器的邊框,當我們在獲取頁面的offsetheight高度時是包括了瀏覽器的邊框的,瀏覽器的邊框是2個畫素,所以這時無論在任何情況下clientheight 始終是小於offsetheight的,這就使得即使沒有滾動條它也為true,因此我們要修正這個錯誤,**應該這樣改,在offsetheight上減去4個畫素,即:

if (document.documentelement.clientheight < document.documentelement.offsetheight-4){

//執行相關指令碼。

還有,這裡要搞清楚,上面這**是判斷橫向滾動條的,我們一般要判斷的是縱向滾動,**如下:

if (document.documentelement.clientwidth < document.documentelement.offsetwidth-4){

//執行相關指令碼。

呵呵,問題搞定,其實我覺得這是個非常無聊的問題,我想沒幾個人想著去判斷滾動條的有無,沒有什麼實際意義,在這裡幫助一下那些需要這功能的朋友走出誤區,免得浪費大量時間去網上搜而無果。

JS判斷頁面是否出現滾動條

當可視區域小於頁面的實際高度時,判定為出現滾動條,即 if document.documentelement.clientheight document.documentelement.offsetheight scroll true 要使用 document.documentelement 必須在...

如何判斷頁面是否有滾動條?

橫向滾動條 當可視區域小於頁面的實際寬度時,判定為出現滾動條,即 if document.documentelement.clientwidth document.documentelement.offsetwidth 豎向滾動條 當可視區域小於頁面的實際高度時,判定為出現滾動條,即 if docu...

js判斷滾動條滾動方向

第一種寫法 var a function scroll fn window.addeventlistener scroll function false scroll function direction 第二種寫法 var a function scroll fn window.addeventl...