亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

document.documentElement.scrollTop和document.body.

document.documentElement.scrollTop和document.body.

楊__羊羊 2019-03-06 15:39:06
什么情況下會使document.documentElement.scrollTop和document.body.scrollTop同時為0?別和我說什么DTD的問題,我想問的是他倆同時為0了,之前使用document.body.scrollTop || document.documentElement.scrollTop是可以獲取到屏幕滾動高度的,但是項目多人參與,不知道改了哪里,現在這兩個會去到的值都變成0了。
查看完整描述

2 回答

?
拉莫斯之舞

TA貢獻1820條經驗 獲得超10個贊

受上回答啟發確實跟css有關,

但是:


html {

    height: 100%;

    overflow: scroll;

}

這樣寫是獲取不到值的

html {

    height: 100%;

    overflow: visible;

}

這樣寫就可以獲取到值了,所以跟html的高度是否是100%并無關系


查看完整回答
反對 回復 2019-03-08
?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

和你的頁面布局有關。

正常情況下滾動條是屬于 html 的,頁面撐開可以正常獲取document.documentElement.scrollTop。

在滾動條屬于 html 或 body 的情況下document.body.scrollTop || document.documentElement.scrollTop能正常拿到相應值。


如果都為0,那說明:


當前滾動條位置就是在頂部。

沒有產生滾動。

你當前的滾動條不再屬于 html 或者 body。

其它我沒想到的= =。

比如以下這種結構對應3:


<!DOCTYPE html>

<html>

    <body>

        <div class="wrapper">

            <div class="main"></div>

        </div>

    </body>

</html>


<style>

html, body, .wrapper {

    width: 100%;

    height: 100%;

    overflow: auto;

}

.main {

    height: 10000px;

}

</style>

這樣.main撐開的滾動條其實是屬于.wrapper的。只有wrapper.scrollTop可以獲取相應的值。

document.body.scrollTop || document.documentElement.scrollTop自然始終為0。


查看完整回答
反對 回復 2019-03-08
  • 2 回答
  • 0 關注
  • 797 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號