十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
本篇文章給大家分享的是有關如何實現(xiàn)iframe標簽中制作滾動條樣式,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
首先讓我們看看HTML iframe標簽中關于滾動條的去留和保存:
iframe嵌入頁面后,我們有時需要調(diào)整滾動條,例如,去掉全部的滾動條,去掉右邊的滾動條且保留底下的滾動條,去掉底下的滾動條且保留右邊的滾動條。那么我們應該怎么做呢?
一:去掉全部的滾動條
第一個方法:iframe 有一個scrolling屬性,它有 auto , yes , no 這三個值。
scrolling : auto -----在需要的時候滾動條出現(xiàn)
scrolling : yes ------始終顯示滾動條
scrolling : no -------始終隱藏滾動條
當設置scrolling : no時,全部的滾動條就沒有了。
第二個方法:我發(fā)現(xiàn)除了 scrolling 可以去掉全部的滾動條外,還有另一個方法,在嵌入的頁面里設置body{overflow:hidden},這樣也可以將滾動條去掉,而且這也是當我們只想去掉某一個滾動條所使用的屬性。
二:去掉右邊的滾動條且保留底下的滾動條
如果只想保留底下的滾動條,那么可以在嵌入的頁面里設置 body{overflow-x:auto ; overflow-y:hidden;}
三:去掉底下的滾動條且保留右邊的滾動條
在嵌入的頁面里設置 body{overflow-x:hidden;overflow-y:auto;}
我們已經(jīng)知道了這兩個屬性都可以設置滾動條的顯示和隱藏,那么當兩個同時設置時,會出現(xiàn)哪個效果呢?
通過檢測,我發(fā)現(xiàn)當scrolling="auto"或者" yes"時,如果設置了body,那么就會使用body里的設置;當scrolling="no"時,不管body設置了什么,都會使用scrolling的設置,即全部的滾動條都被去掉了。
接下來我們說說去掉水平滾動條的辦法:
可以通過下面的方法來去掉:在iframe 所包含的網(wǎng)頁中添加
即可以去掉水平滾動條了,也可以用同樣的方法去掉垂直滾動條。
解決動態(tài)高度的iframe加載后雙滾動條的問題:
若iframe數(shù)據(jù)是通過ajax 異步加載的,里面的div高度也是動態(tài)獲取的,這里有個問題,當div內(nèi)的內(nèi)容沒有加載到,上面的 var height 只能獲取到?jīng)]有撐開的高度,加載完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屬性也是可以做的,大家可以研究一下,要是大家有什么簡單的辦法,我們可以一起討論啊,歡迎在下方留言
以上就是如何實現(xiàn)iframe標簽中制作滾動條樣式,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。