溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何實(shí)現(xiàn)iframe標(biāo)簽中制作滾動(dòng)條樣式

發(fā)布時(shí)間:2020-07-14 10:02:23 來源:億速云 閱讀:713 作者:Leah 欄目:web開發(fā)

本篇文章給大家分享的是有關(guān)如何實(shí)現(xiàn)iframe標(biāo)簽中制作滾動(dòng)條樣式,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

首先讓我們看看HTML iframe標(biāo)簽中關(guān)于滾動(dòng)條的去留和保存:

iframe嵌入頁面后,我們有時(shí)需要調(diào)整滾動(dòng)條,例如,去掉全部的滾動(dòng)條,去掉右邊的滾動(dòng)條且保留底下的滾動(dòng)條,去掉底下的滾動(dòng)條且保留右邊的滾動(dòng)條。那么我們應(yīng)該怎么做呢?

一:去掉全部的滾動(dòng)條

第一個(gè)方法:iframe 有一個(gè)scrolling屬性,它有 auto , yes , no 這三個(gè)值。

scrolling : auto -----在需要的時(shí)候滾動(dòng)條出現(xiàn)

scrolling : yes ------始終顯示滾動(dòng)條

scrolling : no -------始終隱藏滾動(dòng)條

當(dāng)設(shè)置scrolling : no時(shí),全部的滾動(dòng)條就沒有了。

第二個(gè)方法:我發(fā)現(xiàn)除了 scrolling 可以去掉全部的滾動(dòng)條外,還有另一個(gè)方法,在嵌入的頁面里設(shè)置body{overflow:hidden},這樣也可以將滾動(dòng)條去掉,而且這也是當(dāng)我們只想去掉某一個(gè)滾動(dòng)條所使用的屬性。

二:去掉右邊的滾動(dòng)條且保留底下的滾動(dòng)條

如果只想保留底下的滾動(dòng)條,那么可以在嵌入的頁面里設(shè)置 body{overflow-x:auto ; overflow-y:hidden;}

三:去掉底下的滾動(dòng)條且保留右邊的滾動(dòng)條

在嵌入的頁面里設(shè)置 body{overflow-x:hidden;overflow-y:auto;}

我們已經(jīng)知道了這兩個(gè)屬性都可以設(shè)置滾動(dòng)條的顯示和隱藏,那么當(dāng)兩個(gè)同時(shí)設(shè)置時(shí),會(huì)出現(xiàn)哪個(gè)效果呢?

通過檢測,我發(fā)現(xiàn)當(dāng)scrolling="auto"或者" yes"時(shí),如果設(shè)置了body,那么就會(huì)使用body里的設(shè)置;當(dāng)scrolling="no"時(shí),不管body設(shè)置了什么,都會(huì)使用scrolling的設(shè)置,即全部的滾動(dòng)條都被去掉了。

接下來我們說說去掉水平滾動(dòng)條的辦法:

可以通過下面的方法來去掉:在iframe 所包含的網(wǎng)頁中添加

<style>
html { overflow-x:hidden; }
</style>

即可以去掉水平滾動(dòng)條了,也可以用同樣的方法去掉垂直滾動(dòng)條。

解決動(dòng)態(tài)高度的iframe加載后雙滾動(dòng)條的問題:

若iframe數(shù)據(jù)是通過ajax 異步加載的,里面的div高度也是動(dòng)態(tài)獲取的,這里有個(gè)問題,當(dāng)div內(nèi)的內(nèi)容沒有加載到,上面的 var height 只能獲取到?jīng)]有撐開的高度,加載完ajax后還是無法得到實(shí)際的高度,這里就需要等所有document 樹加載完再加載獲取實(shí)際高度的方法

終極版,寫在 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);
    }
}

也許有更簡單的解決方法,但這是我一步步遇到問題和解決的思路和代碼,值得記錄一下。當(dāng)然還有scrolling屬性也是可以做的,大家可以研究一下,要是大家有什么簡單的辦法,我們可以一起討論啊,歡迎在下方留言

以上就是如何實(shí)現(xiàn)iframe標(biāo)簽中制作滾動(dòng)條樣式,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI