问题描述
很常用的一种页面分割方法。比如<frameset rows="82,*,21" cols="*" frameborder="no" border="0" framespacing="0"> <frame src="" name="topFrame" scrolling="no" noresize="noresize" id="topFrame" /> <frameset cols="180,*" framespacing="0" frameborder="no" border="0"> <frame src="" name="leftFrame" id="leftFrame"/> <frame src="" name="mainFrame" id="mainFrame" /> </frameset></frameset>这样就是把一个窗口先分成上,中,下三部分,再把中间部分分割成左右两部分。这样可以实现点击上部分的菜单后,内容出现在中间的右半部分,只需要targer='mainFrame'就可以了,左边部分可以做成一个树形菜单什么的。现在我想实现另外一个效果,就是点击上部分某一个菜单后,内容出现在整个中间部分。点击其他菜单的内容还是显示在右边部分。有朋友说可以给中间部分全部给一个名字,点击菜单时用targer=''就行了,但是上面这种分法好像不行,不能给<frameset cols="180,*" framespacing="0" frameborder="no" border="0">指定name。
解决方案
frameset 是不能加载页面的,页面要加载在frame里.解决办法就是点在topFrame点击特殊菜单项时,隐藏中间的左边部分,点击其他菜单项时显示.代码片段:中间frameset增加id<frameset id="mFrameset" cols="180,*" framespacing="0" frameborder="no" border="0"> 头部的html的菜单点击适当位置加入类似如下代码:parent.getElementById('mFrameset').cols="0,*"//隐藏中间左部parent.getElementById('mFrameset').cols="180,*"//显示中间左部
解决方案二:
不能在framset中给出name属性,可以再framset内部的所有framse中设置相同的name不知道这样可不可行,试试吧,(我估计是这样,没试验过)
解决方案三:
html是很宽松的语言,可以给标签指定任意属性,当然可以给frame指定name
解决方案四:
你的想法可以实现的!一般后台都是这样的!不过 现在一般不建议使用!frameset 了!需要这样的实例留下 邮箱