首页 > 网站 > WEB开发 > 正文

网页中如何用javascript来调整原来frame的高度

2024-04-27 14:04:55
字体:
来源:转载
供稿:网友

问:
一个网页里面嵌入2个框架,如下所示,现在我想在b.htm里写入一段代码,改变Topbar这个框架的高度(原来为120),请问如何实现?最好写出具体过程。

另外如果不能实现,有没有办法在b.htm里用一张图片跨过框架Main来覆盖在a.htm上面(目的是使a.htm看不见)?
问题补充:a.htm是不能修改的。
请各位帮帮忙啊。
======================================================
<html>
<head>
<title></title>
</head>

<body>
<frameset rows="120, *">
<frame name="Topbar" src="a.htm" scrolling="No">
<frame name="Main" src="b.htm" scrolling="Yes">
</frameset>

</body>
</html>
======================================================
问题补充:谢谢ccyingfu,但是我这个嵌入框架的frameset也是不可修改的,就是说上面那段代码不能修改,不能加入id,怎么办?另外你用了个button来执行修改,那如果我想一打开网页就执行的话该怎么办?

 

答:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>


<frameset rows="120, *">

 

<frame name="Topbar" src="a.htm" scrolling="No">
<frame name="Main" src="b.htm" scrolling="Yes">
</frameset><noframes></noframes>
</html>
</html>
================================
b.htm
====================
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>

<script type="text/javascript">
   function change(height){
       window.parent.document.getElementsByTagName("frameset")[0].setAttribute("rows",height+"px,*");
   }

   window.onload = function(){
alert("原来的高度"+window.parent.document.getElementsByTagName("frameset")[0].getAttribute("rows").substring(0, 3));
    change(150);//设置150像素的高度
alert("改变后的高度"+window.parent.document.getElementsByTagName("frameset")[0].getAttribute("rows").substring(0, 3));
  }
</script>
</head>
<body>

</body>
</html>


=========
你这样试一下,这样是绝对可以的。也满足你不改frameset的要求。我只是在b.htm中加了一段js代码,要b.html加载完成时改变frameset的高度。原来是120,通过js改成了150,你可以将150改的大点,这样你就能看出效果了。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表