2014-01-18 62 views
0

我有以下代碼,一旦文本超過iframe可見高度,iframe就會變高;但是,當文本被刪除時,iframe保持一樣高。我如何修改此代碼(或者如果有不同的代碼),將調整iframe爲恰當的高度。我需要這個功能,以便在keyup上運行該功能。Javascript/jquery:自動調整iframe的高度(如何使iframe在需要時變小)

function autoResize(id){ 
    var newheight; 
    var newwidth; 

    if(document.getElementById){ 
     newheight=document.getElementById(id).contentWindow.document .body.scrollHeight; 
     newwidth=document.getElementById(id).contentWindow.document .body.scrollWidth; 
    } 

    document.getElementById(id).height= (newheight) + "px"; 
    document.getElementById(id).width= (newwidth) + "px"; 
} 

回答

1

聲明:不確定下面的解決方案是否是最好的解決方案。

您可以將iframe重置爲標準大小,然後使用您的方法調整大小。

例子:

如果你的iframe的標準尺寸爲300 x 300像素

function autoResize(id){ 
    //Reset iframe size 
    document.getElementById(id).height= "300px"; 
    document.getElementById(id).width= "300px"; 

    //Your method continues 
    var newheight; 
    var newwidth; 

    if(document.getElementById){ 
     newheight=document.getElementById(id).contentWindow.document .body.scrollHeight; 
     newwidth=document.getElementById(id).contentWindow.document .body.scrollWidth; 
    } 

    document.getElementById(id).height= (newheight) + "px"; 
    document.getElementById(id).width= (newwidth) + "px"; 
} 

希望這有助於

+0

新的高度的代碼導致頁面跳轉上的每個KEYUP(IM應用此功能鍵入)。有沒有辦法解決這個問題? – kdjernigan