2013-12-12 25 views
1

我想從使用jQuery的頁面上的所有iFrame移除滾動條。iFrames的jQuery時間問題?

我使用下面的代碼爲:

$("iframe").each(function() { 
         $(this).css({"overflow":"hidden","scrolling":"no"}); 
        }); 

的問題是,我有時保持刷新頁面,它的工作原理,有時不這使我相信有某種定時的問題在這裏。上面的代碼運行時,iFrames是否尚未加載?也許增加時間延遲?

的代碼包裹在裏面$(document).ready(function()處理

+0

你是否已經將代碼包裝在就緒處理程序中,或者在將iframe添加到DOM後進行設置? –

+2

是在靜態html中添加的iframe,還是使用javascript添加的內容? – Enermis

+0

CSS中沒有「」滾動「:」不「# – epascarello

回答

0

設置的風格和用javascript屬性根本沒有在所有的工作,所以你唯一的選擇就是無javascript設置

<iframe src="http://url.com" style="overflow:hidden" scrolling="no"></iframe> 

FIDDLE

0

試試這個

$(document).ready(function(){ 
    $("iframe").each(function() { 
     $(this).load(function(){ 
      $(this).css({"overflow":"hidden","scrolling":"no"}); 
     } 
    }); 
}); 

EDITED

+0

它已經包裝在處理程序 – Joly

+0

我編輯它嘗試一個 – Rickert

0

問題是,您可能正在使用JavaScript加載iframe的內容。由於JavaScript是單線程設計的,因此iframe內容的負載將被延遲,直到執行完其餘的javascript。

您應該添加的功能作爲回調時加載

類似的問題已經在這裏找到答案在iframe內容 jQuery .ready in a dynamically inserted iframe

+0

有道理,我該怎麼做?你能舉個例子嗎? – Joly

+0

user2348221提示的是正確的。欲瞭解更多信息,你可以在這裏查看http://stackoverflow.com/questions/205087/jquery-ready-in-a-dynamically-inserted-iframe – Enermis

0

爲什麼使用jQuery/JavaScript的呢?

簡單的CSS可以將其關閉

iframe { 
    overflow: hidden; 
} 

沒有循環,沒有令人擔憂的,如果他們是動態的,它應該只是工作。如果您需要啓用它,請使用課程創建另一個規則並打開滾動。