花點(diǎn)時(shí)間搞清top、postop、scrolltop、scrollHeight、offsetHeight收藏
1. top
此屬性?xún)H僅在對(duì)象的定位(position)屬性被設(shè)置時(shí)可用。否則,此屬性設(shè)置會(huì)被忽略。
<div style="background-color:red; position:absolute; width:100px; height:100px;">
<p style="background-color:silver; position:absolute; top:-5px;">測(cè)試top</p>
</div>
上面是一個(gè)段落P包含在一個(gè)DIV內(nèi),可以看到P的top設(shè)置為-5px后,它的上邊距超過(guò)了容器DIV的上邊距,超過(guò)的這段距離就是設(shè)置的5px。
需要注意的是,DIV和P這一對(duì)包含元素,都需要設(shè)置position為absolute才能得到想要的結(jié)果,假如父元素不設(shè)置,則子元素的參照將是更上層定義過(guò)position的元素,直到整個(gè)文檔;
2. posTop
posTop的數(shù)值其實(shí)和top是一樣的,但區(qū)別在于,top固定了元素單位為px,而posTop只是一個(gè)數(shù)值(這一點(diǎn)可以通過(guò)alert("top="+id.style.top)和alert("posTop="+id.style.posTop)來(lái)證明),因此一般使用posTop來(lái)進(jìn)行運(yùn)算。
<div style="background-color:red; position:absolute; width:100px; height:100px;">
<p id="test" style="background-color:silver; position:absolute;">測(cè)試posTop</p>
</div>
<script>
test.style.posTop = 15+8;
alert("top="+test.style.top);
alert("posTop="+test.style.posTop);
</script>
無(wú)論你使用top或posTop來(lái)賦值,最后的結(jié)果都是一致的
3. scrollTop
<div id="container" style="background-color:silver; width:100px; height:100px; overflow:auto;">
<p style="background-color:red;">
別再做情人 做只貓 做只狗 不做情人 做只寵物至少可愛(ài)迷人 和你相交不淺無(wú)謂明日會(huì)被你憎</p>
</div>
<script>
container.scrollTop = 12;
</script>
這一段文本在這個(gè)100*100的DIV內(nèi)無(wú)法完全顯示,所以設(shè)置了overflow為auto,它會(huì)出現(xiàn)一個(gè)上下方向的滑動(dòng)框,假如沒(méi)有設(shè)置id.scrollTop屬性的話,默認(rèn)情況下滑塊位置在頂端。而設(shè)置了scrollTop值為12后,滑塊的位置改變了,默認(rèn)顯示是卷過(guò)了12個(gè)象素的文本。如果設(shè)置overflow為hidden,則將會(huì)無(wú)法顯示頂部12個(gè)象素的文本。
注意設(shè)置方式是id.scrollTop,而不是id.style.scrollTop。
4. scrollHeight 與 offsetHeight
offsetHeight是自身元素的高度,scrollHeight是 自身元素的高度+隱藏元素的高度。
<div id="container" style="background-color:silver; width:100px; height:100px; overflow:auto;">
<p style="background-color:red; height:250px; ">
別再做情人 做只貓 做只狗 不做情人 做只寵物至少可愛(ài)迷人 和你相交不淺無(wú)謂明日會(huì)被你憎</p>
</div>
<script>
alert(container.offsetHeight);
alert(container.scrollHeight);
</script>
將依次輸出100,250。因?yàn)橐呀?jīng)指定了元素的height為100px,所以offsetHeight始終為100px;內(nèi)部元素為250px,而容器元素只有100px,那么還有150px的內(nèi)容它無(wú)法顯示出來(lái),但它卻是實(shí)際存在的,所以scrollHeight值為100+150=250。
本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://203.208.37.132/search?q=cache:6WT3tTxeylAJ:blog.csdn.net/wayne23/archive/2007/01/19/1487718.aspx+scrollTop&cd=1&hl=zh-CN&ct=clnk&gl=cn&st_usg=ALhdy29JFCNYPzUowNBAyw3XNVCY09Grng
聯(lián)系客服