<script>
function autoResize()
{
    try
    {
        document.all["pic"].style.height=pic.document.body.scrollHeight
        document.all["pic1"].style.height=pic1.document.body.scrollHeight
        document.all["pic2"].style.height=pic2.document.body.scrollHeight
    }
    catch(e){}
}
</script><iframe src="Index_Left.asp_yw.asp" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="no" width="100%" id=pic style="height:expression(1); aho:expression(autoResize())"></iframe><iframe src="Index_Left.asp_tj.asp" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="no" width="100%" id=pic1 style="height:expression(1); aho:expression(autoResize())"></iframe><iframe src="Index_Left.asp_mk.asp" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="no" width="100%" id=pic2 style="height:expression(1); aho:expression(autoResize())"></iframe>这是我原来用过的

解决方案 »

  1.   

    这。
    难道没有办法了吗
    其实这样也行,但我的frame数也不是固定的。所以最后是统一用一个函数啊
      

  2.   

    直接在我这个函数里面加一句不就可以了吗?
    如果不确定
    你先获取Iframe的个数
    在JS里面用个循环不就可以了吗?
      

  3.   

    function autoResize(id)
    {
        try
        {
            document.all[id.value].style.height=id.document.body.scrollHeight
        }
        catch(e){}
    }
    类似这种方式不可以吗?
    就算是得到iframe的个数,不是全部的iframe需要自动调整高度的。
      

  4.   

    <script>
    function change_size()
    {
    document.getElementById('tb001').style.height="300px";
    }
    </script>
    <TABLE id="tb001" width="300" height="200" border="0">
    <TR>
    <TD width="100%">
    <iframe marginheight="0" marginwidth="0" src="/user/category_list.php?id=musicbox&cate=1" frameborder="0" scrolling="no" width="100%" height="100%" id="info_iframe" name="info_content"></iframe>
    </TD>
    </TR>
    </TABLE>
    <INPUT type="button" onclick="change_size()" value="go">
      

  5.   

    要想使函数通用,那么就要传递待操作的对象。而不是在函数中写死
    function change_size(iframe)
    {
    iframe.style.height=info_content.document.body.scrollHeight+1+"px";
    }调用
    <div id="1" style="width:100%;">
    <iframe marginheight="0" marginwidth="0" src="/user/category_list.php?id=musicbox&cate=1" frameborder="0" scrolling="no" width="100%" id="info_iframe" name="info_content"   onload="change_size(this)"></iframe>
    </div>
      

  6.   

    iframe.style.height=info_content.document.body.scrollHeight+1+"px";
    这里info_content是写死的。
    如果我有很多frame info_content1 , info_content2 ,那这个函数又该怎么写呢?
      

  7.   

    1.用个循环得到所有的iframe
    2.通过参数把iframeID或Name传进函数,函数用循环注册事件。
      

  8.   

    谢谢,BlueDestiny的回复。
    我也想过这样,
    document.all["info_content"].style.height=info_content.document.body.scrollHeight
    如果根据传进来的参数,改变等号前面很容易,因为all[]里面的是字符串。
    但是等号后面的就是一个对象了,而我不知道怎么用传进来的东西改变后面的这个object
    如果直接传进对象,也不好,我试过
    比如
    function change_size(iframe)
    {
    iframe.style.height=iframe.document.body.scrollHeight+1+"px";
    }
    这里后面的iframe不是我想要东西,结果也没有调整好高度。
    帮帮
      

  9.   

    也就是说我有多个iframe,src都不一样,高度也都不一样。
      

  10.   

    function change_size()
    {
      var frames=document.getElementsByTagName("iframe");
      for(var i=0;i<frames.length;i++)
      {
         frames[i].style.height=frames[i].name.document.body.scrollHeight+1+"px";
      }
    }