J2EE社區

          茍有恒,何必三更起五更眠;
          最無益,只怕一日曝十日寒.
          posts - 241, comments - 318, trackbacks - 0, articles - 16

          top、postop、scrolltop、scrollHeight、offsetHeight的作用和區別

          1. top

          此屬性僅僅在對象的定位(position)屬性被設置時可用。否則,此屬性設置會被忽略。

          <div style="background-color:red; position:absolute; width:100px; height:100px;">

          <style="background-color:silver; position:absolute; top:-5px;">測試top</p>

          </div>

           上面是一個段落P包含在一個DIV內,可以看到P的top設置為-5px后,它的上邊距超過了容器DIV的上邊距,超過的這段距離就是設置的5px。

          需要注意的是,DIV和P這一對包含元素,都需要設置position為absolute才能得到想要的結果,假如父元素不設置,則子元素的參照將是更上層定義過position的元素,直到整個文檔;

          2. posTop

          posTop的數值其實和top是一樣的,但區別在于,top固定了元素單位為px,而posTop只是一個數值(這一點可以通過alert("top="+id.style.top)和alert("posTop="+id.style.posTop)來證明),因此一般使用posTop來進行運算。

          <div style="background-color:red; position:absolute; width:100px; height:100px;">

          <id="test" style="background-color:silver; position:absolute;">測試posTop</p>

          </div>

          <script>
          test.style.posTop 
          = 15+8;
          alert(
          "top="+test.style.top);
          alert(
          "posTop="+test.style.posTop);
          </script>

           無論你使用top或posTop來賦值,最后的結果都是一致的

          3. scrollTop

          <div id="container" style="background-color:silver; width:100px; height:100px; overflow:auto;">
          <style="background-color:red;">
          別再做情人 做只貓 做只狗 不做情人 做只寵物至少可愛迷人 和你相交不淺無謂明日會被你憎
          </p>
          </div>

          <script>
          container.scrollTop 
          = 12;
          </script>

          這一段文本在這個100*100的DIV內無法完全顯示,所以設置了overflow為auto,它會出現一個上下方向的滑動框,假如沒有設置id.scrollTop屬性的話,默認情況下滑塊位置在頂端。而設置了scrollTop值為12后,滑塊的位置改變了,默認顯示是卷過了12個象素的文本。如果設置overflow為hidden,則將會無法顯示頂部12個象素的文本。

          注意設置方式是id.scrollTop,而不是id.style.scrollTop。

          4. scrollHeight 與 offsetHeight

          offsetHeight是自身元素的高度,scrollHeight是 自身元素的高度+隱藏元素的高度。

          <div id="container" style="background-color:silver; width:100px; height:100px; overflow:auto;">
          <style="background-color:red; height:250px; ">
          別再做情人 做只貓 做只狗 不做情人 做只寵物至少可愛迷人 和你相交不淺無謂明日會被你憎
          </p>
          </div>

          <script>
          alert(container.offsetHeight);
          alert(container.scrollHeight);
          </script>

          將依次輸出100,250。因為已經指定了元素的height為100px,所以offsetHeight始終為100px;內部元素為250px,而容器元素只有100px,那么還有150px的內容它無法顯示出來,但它卻是實際存在的,所以scrollHeight值為100+150=250。




          名稱: ?4C.ESL | .↗Evon
          口號: 遇到新問題?先要尋找一個方案乄而不是創造一個方案こ
          mail: 聯系我



          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 滁州市| 江华| 广灵县| 万荣县| 奇台县| 长武县| 五寨县| 奎屯市| 涞源县| 金堂县| 甘孜| 白城市| 丁青县| 云林县| 玛纳斯县| 慈溪市| 镇江市| 白城市| 麦盖提县| 聂荣县| 舞阳县| 镇平县| 朝阳县| 唐山市| 苍溪县| 高安市| 巴林左旗| 贵州省| 天长市| 丹寨县| 庆安县| 大埔县| 花莲市| 阿城市| 安远县| 宁化县| 荆州市| 吉首市| 岗巴县| 礼泉县| 南华县|