双击frameset边框自动隐藏或显示窗口

maosenmin 2009-11-10 04:54:18
不用div,只是用frameset分割窗口:

<html>
<head>
</head>
<frameset cols="400,*" id="mainfr" name="mainfr">
<frame name="left" >
<frame name="main">
</frameset>
</html>
怎样双击中间的分割线时自动隐藏left frame,再双击又还原成默认的?
...全文
826 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
maosenmin 2009-12-03
  • 打赏
  • 举报
回复
到目前为止还没有找到完美的解决方案。
majinlong7 2009-11-23
  • 打赏
  • 举报
回复
帮顶
maosenmin 2009-11-23
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 smallmonkeychen 的回复:]
框架+Css样式+按钮超链接=实现
[/Quote]
这位仁兄,能否给个小例子,非常感谢!
smallmonkeychen 2009-11-17
  • 打赏
  • 举报
回复
框架+Css样式+按钮超链接=实现
ITprogramWorker 2009-11-11
  • 打赏
  • 举报
回复
采用这样的结构
<html>
<head>
</head>
<frameset cols="400,5,*" id="mainfr" name="mainfr">
<frame name="left" >
<frame name="middle" >
<frame name="main">
</frameset>
</html>


在middle页面这样设置。
<html>
<head>
<script language="javascript">
var left_cols;
function hide()
{
left_cols = window.parent.Main.cols;
window.parent.Main.cols = "0,8,*";
window.document.getElementById('hide').style.display = "none";
window.document.getElementById('show').style.display = "";
}
function show()
{
window.document.getElementById('hide').style.display = "";
window.document.getElementById('show').style.display = "none";

if(left_cols){
window.parent.Main.cols = left_cols;
}
else{
window.parent.Main.cols = "190,8,*";
}
}
function mouseover(item)
{
item.style.background = "#AACCFF";
}
function mouseout(item)
{
item.style.background = window.document.bgColor;
}
</script>
</head>
<BODY bottomMargin="0" leftMargin="0" topMargin="0" rightMargin="0" bgcolor="#3366ff">
<table border="0" height="100%" cellpadding="0" cellspacing="0">
<tr>
<td><img id="hide" src="images/nb-hide-ql.gif" border="0" alt="隐藏导航树" style="CURSOR:hand"
onclick="hide()" onmouseover="mouseover(this)" onmouseout="mouseout(this)"> <img id="show" src="images/nb-show-ql.gif" border="0" alt="显示导航树" style="DISPLAY:none;CURSOR:hand"
onclick="show()" onmouseover="mouseover(this)" onmouseout="mouseout(this)"></td>
</tr>
</table>
</BODY>
</html>
maosenmin 2009-11-11
  • 打赏
  • 举报
回复
像这样<frameset cols="400,*" id="mainfr" name="mainfr">
<frame name="left" >
<frame name="main">
</frameset> 不用任何其他设置,就可以直接拖动,但双击没办法,如果中间在加一个frame,即使设置其宽度很小挤在一起看起来像是一根线样,在中间frame里写双击事件,但这样好像就不能自由拖动了。
happy664618843 2009-11-11
  • 打赏
  • 举报
回复
设置边框0
浪尖赏花 2009-11-11
  • 打赏
  • 举报
回复
拖动的效果应该也可以做,跟普通的DIV实现应该差不多,DIV控制的是层的大小,这里控制的是frame的大小
maosenmin 2009-11-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lihui_shine 的回复:]
采用这样的结构
<html>
<head>
</head>
<frameset  cols="400,5,*"  id="mainfr"  name="mainfr"> 
      <frame  name="left" > 
      <frame  name="middle" >
      <frame  name="main"> 
</frameset>
</html>

在middle页面中捕获ondblclick事件,将left的宽度设为0或400从而达到隐藏frame的目的
[/Quote]
可是这样的话就不可以直接拖动中间分割线改变左右窗口大小(那种效果)了。我是既想要可以随意拖动又可以双击隐藏/显示的那种效果。
maosenmin 2009-11-11
  • 打赏
  • 举报
回复
楼上的这种我做过,就是中间那个frame中有个图片,可以点击那个来达到隐藏左frame吧。不知道你写完了有没有简单运行一下,既要可以左右自由拖动,又可以双击隐藏左frame,再双击有恢复。
浪尖赏花 2009-11-10
  • 打赏
  • 举报
回复
采用这样的结构
<html>
<head>
</head>
<frameset cols="400,5,*" id="mainfr" name="mainfr">
<frame name="left" >
<frame name="middle" >
<frame name="main">
</frameset>
</html>

在middle页面中捕获ondblclick事件,将left的宽度设为0或400从而达到隐藏frame的目的

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧