這篇文章主要講述了關於HTML iframe標籤中關於滾動的問題,這篇文章中寫了關於iframe標籤的滾動條的去留和保存下來和解決動態高度的iframe加載後雙滾動條等問題,現在就讓我們看文章吧
首先讓我們看看HTML iframe標籤中關於滾動條的去留與保存:
##iframe嵌入頁面後,我們有時需要調整捲軸,例如,去掉全部的捲軸,去掉右邊的捲軸且保留底下的捲軸,去掉底下的捲軸且保留右邊的捲軸。那我們該怎麼做呢?一:去掉全部的捲軸
第一個方法:iframe 有一個scrolling屬性,它有 auto , yes , no 這三個值。 scrolling : auto -----在需要的時候滾動條出現scrolling : yes ------總是顯示捲軸scrolling : no - ------總是隱藏捲軸當設定scrolling : no時,全部的捲軸就沒有了。 第二個方法:我發現除了scrolling 可以去掉全部的滾動條外,還有另一個方法,在嵌入的頁面裡設定body{overflow:hidden},這樣也可以將滾動條去掉,而且這也是當我們只想去掉某一個捲軸所使用的屬性。二:去掉右邊的捲軸且保留底下的捲軸
#如果只想保留底下的捲軸,那麼可以在嵌入的頁面裡設定body{ overflow-x:auto ; overflow-y:hidden;}三:去掉底下的捲軸且保留右邊的捲軸
在嵌入的頁面裡設置body{overflow-x:hidden;overflow-y:auto;}我們已經知道了這兩個屬性都可以設定滾動條的顯示和隱藏,那麼當兩個同時設定時,會出現哪一個效果呢? 透過偵測,我發現當scrolling="auto"或" yes"時,如果設定了body,那麼就會使用body裡的設定;當scrolling="no"時,不管body設定了什麼,都會使用scrolling的設置,也就是全部的捲軸都被去掉了。接下來我們說去掉水平捲軸的辦法:
#可以透過下面的方法來去掉:在iframe 所包含的網頁中添加
<style> html { overflow-x:hidden; } </style>即可以去掉水平滾動條了,也可以用同樣的方法去掉垂直滾動條。
解決動態高度的iframe載入後雙捲軸的問題:
若iframe資料是透過ajax 非同步載入的,裡面的div高度也是動態取得的,這裡有個問題,當div內的內容沒有加載到,上面的var height 只能獲取到沒有撐開的高度,加載完ajax後還是無法得到實際的高度,這裡就需要等所有document 樹加載完再加載取得實際高度的方法終極版,寫在iframe 頁面var ht = setInterval('getHeight',100); function getHeight(){ if(document.readyState == 'complete'){ var height = (document.body.scrollHeight)+'px'; $('parentdiv',window.parent.document).css('height',height); window.clearInterval(gh); } }也許有更簡單的解決方法,但這是我一步步遇到問題和解決的思路和程式碼,值得記錄一下。當然還有scrolling屬性也是可以做的,大家可以研究一下,如果大家有什麼簡單的辦法,我們可以一起討論啊,歡迎在下方留言【小編推薦】
HTML img標籤的src屬性的用法是什麼?具體使用方法解析(內附實例)
以上是教你在iframe標籤中製作捲軸樣式,iframe標籤的用法介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!