如何动态改变Frame的大小?

博客围绕JavaScript、HTML元素展开,涉及button、input等元素,以及在浏览器环境下function的运用,体现了前端开发中JavaScript与HTML元素交互的相关内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介:我想大家应该见过有些网站如Msdn.microsoft.com内一些分帧的页面在按下页面的某个按钮后,页面中的某个帧就会隐藏了,其实这种效果实现起来挺简单的,现在我们就来看看如何用Javascript来访问和修改Frame对象。
1.在开始前我先讲一下Frame的结构与语法: //下面是一个用frame页面的帧的代码
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<frameset rows="117,498"> //如图这代表黄色框的分帧结构为上下分[rows表示上下 cols表示左右] 上为117下为498 包含top.htm与包含left.htm与main.htm的红色框的对象这两个属于同一级对象
<frame src="top.htm">
<frameset id=frame_bottom cols="200,*"> //这表示的是红色框内的分帧结构为左右左是200,右是除了左帧占据200后的所有空间,在这里我给了这个frameset一个id:frame_bottom这是为了方便后面用Javascript来访问这个对象
<frame src="left.htm">
<frame src="main.htm">
</frameset>
</frameset>
<noframes> //这是的用来显示当浏览器不支持frame时显示的页面内容
<body bgcolor="#FFFFFF" text="#000000">
你的浏览器不支持frame
</body>
</noframes>
</html>

2.动态修改frameset的内容

看完上面的代码你应该知道定义 frame_bottom 这个frameset对象的结构代码为 cols="200,*" 下面是动态修改的代码
<input type="button" name="Button" value="点这按钮将关闭左边的帧" onClick=reSetFrames()>
<script language="JavaScript">
function reSetFrames(){
top.frame_bottom.cols=(top.frame_bottom.cols=="0,*")?"200,*":"0,*"; //top代表的是所有frame对象的最高级对象也就是上面定义整体结构的代码,top.frame_bottom 就取得红色框这个对象,然后就修改 top.frame_bottom 对象的cols属性为一个新的值.来达到隐藏帧的效果
}
</script>
在VB6中,你可以通过处理鼠标按下、移动和释放事件来实现框架(Frame)如Frame1的大小随鼠标拖动而改变的功能。以下是一个简单的步骤描述: 1. **设置事件处理**: - 在属性窗口中找到`Frame1`,然后双击"MouseDown"事件,添加一个事件过程。 - 同样地,添加"MouseMove"和"MouseUp"事件过程。 2. **编写事件代码**: - `MouseDown`事件中,记录鼠标的初始位置(`x1`, `y1`)以及当前框架的宽度(`Width`)和高度(`Height`)。 ```vb Private Sub Frame1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) xStart = X yStart = Y frameWidth = Frame1.Width frameHeight = Frame1.Height End Sub ``` - `MouseMove`事件中,计算新位置(`x2`, `y2`)并与初始位置比较,更新框架大小。 ```vb Private Sub Frame1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim xDiff, yDiff As Integer xDiff = X - xStart yDiff = Y - yStart Frame1.Width = frameWidth + xDiff Frame1.Height = frameHeight + yDiff End Sub ``` - `MouseUp`事件中,关闭对拖动操作的支持。 ```vb Private Sub Frame1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) MouseDown = False ' 设置鼠标是否还在拖动的状态为False End Sub ``` 3. **启用鼠标悬浮**: - 在`MouseDown`事件中增加一行代码,比如 `Cursor = vbSizeAll`,让鼠标变成双向箭头,表示可以大小。 记得在运行程序之前,确保事件过程已经正确连接到相应的事件上,并保存你的工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值