您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關如何實現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屬性也是可以做的,大家可以研究一下,要是大家有什么簡單的辦法,我們可以一起討論啊,歡迎在下方留言
以上就是如何實現iframe標簽中制作滾動條樣式,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。