none
关于Frame显示跟隐藏的问题? RRS feed

  • 问题

  • 我在页面上用Frame布局,把整个页面分成3个,最上面一个title,左边side 右边 context 。
    <frameset rows="80,*" cols="*" frameborder="no" border="0" framespacing="0">
      <frame src="../BackOperate/Title.aspx" name="topFrame" scrolling="no" noresize="noresize" id="topFrame" />
      <frameset cols="150,*" frameborder="no" border="0" framespacing="0">
        <frame src="" name="leftFrame" scrolling="yes" noresize="noresize" id="leftFrame" />
      
        <frame src="" name="mainFrame" id="mainFrame" scrolling="yes" />
     
      </frameset>
    </frameset>
    我现在想把左边的leftFrame 隐藏或者显示, 应该怎么做?
    注:我用iframe很容易实现(放两个DIV来用js控制), 但我在Frame里我不知道怎么在leftFrame放两个DIV来控制。
    2009年8月15日 7:35

答案

  • 在 LeftFrame src 所有的页面添加一个用于呈现内容的DIV一个用于显示分隔的Div, 通过点击分隔的 DIV 来控制呈现内容的DIV的显示隐藏,
    知识改变命运,奋斗成就人生!
    2009年8月15日 7:54
    版主
  •  您好,请参考:
    假设有一个FrameSet定义如下:
    <FRAMESET NAME="parentFrameset" COLS="25%, 50%, *" >
    <FRAME name="content" SRC="contents.htm">
    <FRAME name="info" SRC="info.htm">
    <FRAME name="graphic" SCROLLING="NO" SRC="graphic.htm">
    </FRAMESET>

    要隐藏名为graphic的frame,代码如下:
    parent.parentFrameset.cols="20%,*"

    通过给FrameSet的name来访问cols或rows
    2009年8月15日 13:02
  • 很简单,你可以直接通过js设置frame的cols属性,我做了例子如下:
    frame.htm
    ================
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
     </HEAD>
    <frameset rows="80,*" cols="*" frameborder="no" border="0" framespacing="0">
      <frame src="top.htm" name="topFrame" scrolling="no" noresize="noresize" id="topFrame" />
      <frameset cols="150,*" frameborder="no" border="0" framespacing="0" name="bottomFrame">
        <frame src="" name="leftFrame" scrolling="yes" noresize="noresize" id="leftFrame" />
      
        <frame src="" name="mainFrame" id="mainFrame" scrolling="yes" />
     
      </frameset>
    </frameset></HTML>


    top.htm的内容:
    ======================
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <SCRIPT LANGUAGE="JavaScript">
      <!--
    //切换底部左边frame的宽度实现隐藏/显示效果
     function toggleFrame(){
    if(parent.bottomFrame.cols!="150,*")
    parent.bottomFrame.cols="150,*";
    else
    parent.bottomFrame.cols="0,*";
     }
      //-->
      </SCRIPT>
     </HEAD>

     <BODY>
      <button onclick="toggleFrame()">隐藏/显示左边框架</button>
     </BODY>
    </HTML>


    Where there's a will there's a way
    2009年8月15日 14:49

全部回复

  • 在 LeftFrame src 所有的页面添加一个用于呈现内容的DIV一个用于显示分隔的Div, 通过点击分隔的 DIV 来控制呈现内容的DIV的显示隐藏,
    知识改变命运,奋斗成就人生!
    2009年8月15日 7:54
    版主
  • 那样的话,不是div显示在滚动条里面了啊?如果放在右边,可是如果页面有几十个,那不是很麻烦吗?

     

    2009年8月15日 8:09
  •  您好,请参考:
    假设有一个FrameSet定义如下:
    <FRAMESET NAME="parentFrameset" COLS="25%, 50%, *" >
    <FRAME name="content" SRC="contents.htm">
    <FRAME name="info" SRC="info.htm">
    <FRAME name="graphic" SCROLLING="NO" SRC="graphic.htm">
    </FRAMESET>

    要隐藏名为graphic的frame,代码如下:
    parent.parentFrameset.cols="20%,*"

    通过给FrameSet的name来访问cols或rows
    2009年8月15日 13:02
  • 很简单,你可以直接通过js设置frame的cols属性,我做了例子如下:
    frame.htm
    ================
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
     </HEAD>
    <frameset rows="80,*" cols="*" frameborder="no" border="0" framespacing="0">
      <frame src="top.htm" name="topFrame" scrolling="no" noresize="noresize" id="topFrame" />
      <frameset cols="150,*" frameborder="no" border="0" framespacing="0" name="bottomFrame">
        <frame src="" name="leftFrame" scrolling="yes" noresize="noresize" id="leftFrame" />
      
        <frame src="" name="mainFrame" id="mainFrame" scrolling="yes" />
     
      </frameset>
    </frameset></HTML>


    top.htm的内容:
    ======================
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <SCRIPT LANGUAGE="JavaScript">
      <!--
    //切换底部左边frame的宽度实现隐藏/显示效果
     function toggleFrame(){
    if(parent.bottomFrame.cols!="150,*")
    parent.bottomFrame.cols="150,*";
    else
    parent.bottomFrame.cols="0,*";
     }
      //-->
      </SCRIPT>
     </HEAD>

     <BODY>
      <button onclick="toggleFrame()">隐藏/显示左边框架</button>
     </BODY>
    </HTML>


    Where there's a will there's a way
    2009年8月15日 14:49