风声 JS 窗口 V1.00 [Fonshen JS Window Version 1.00]

_window对象[结构样式]

  _window 对象的 class 决定了窗口的风格,“综合演示”提供的样式表包含了 4 种风格(分别为:VISTA, CABLE, SWORD, NOKIA)。一般情况下,我们可以直接拿来使用或稍作修改;但是如果我们想自定义完全不同的窗口风格时,您需要了解窗口的结构和样式规则。
  我们分析其中的 NOKIA 样式:
.MODAL
{
	background-color:#333435;
	filter:alpha(opacity=5);
	opacity:0.05;
}
/* ---- 省略其它样式 ---- */
/* ---- NOKIA 样式 ---- */
.NOKIA
{
	font-size: 1px;
}

/* 边框样式 */
.NOKIA .LEFT_TOP
{
	/* 左上:请不要定义padding/margin/border/top/right/bottom/left属性 */
	width: 150px;
	height: 42px;
	background-image:url(../images/NOKIA/LEFT_TOP.gif);
	background-repeat: no-repeat;
}
.NOKIA .TOP
{
	/* 上边:请不要定义padding/margin/border/top/right/bottom/left属性 */
	height: 42px;
	background-image: url(../images/NOKIA/TOP.gif);
	background-repeat: repeat-x;
}
.NOKIA .RIGHT_TOP
{
	/* 右上:请不要定义padding/margin/border/top/right/bottom/left属性 */
	width: 37px;
	height: 42px;
	background-image: url(../images/NOKIA/RIGHT_TOP.gif);
	background-repeat: no-repeat;
}
.NOKIA .RIGHT
{
	/* 右边:请不要定义padding/margin/border/top/right/bottom/left属性 */
	width: 12px;
	background-image: url(../images/NOKIA/RIGHT.gif);
	background-repeat: repeat-y;
}
.NOKIA .RIGHT_BOTTOM
{
	/* 右下:请不要定义padding/margin/border/top/right/bottom/left属性 */
	width: 12px;
	height: 12px;
	background-image: url(../images/NOKIA/RIGHT_BOTTOM.gif);
	background-repeat: no-repeat;
}
.NOKIA .RIGHT_BOTTOM_BY_BUTTON
{
	/* 右下(有按钮时):请不要定义padding/margin/border/top/right/bottom/left属性 */
	width: 12px;
	height: 53px;
	background-image: url(../images/NOKIA/RIGHT_BOTTOM_BY_BUTTON.gif);
	background-repeat: no-repeat;
}
.NOKIA .BOTTOM
{
	/* 下边:请不要定义padding/margin/border/top/right/bottom/left属性 */
	height: 12px;
	background-image: url(../images/NOKIA/BOTTOM.gif);
	background-repeat: repeat-x;
}
.NOKIA .BOTTOM_BY_BUTTON
{
	/* 下边(有按钮时):请不要定义padding/margin/border/top/right/bottom/left属性 */
	height: 53px;
	background-image: url(../images/NOKIA/BOTTOM_BY_BUTTON.gif);
	background-repeat: repeat-x;
}
.NOKIA .LEFT_BOTTOM
{
	/* 左下:请不要定义padding/margin/border/top/right/bottom/left属性 */
	width: 12px;
	height: 12px;
	background-image: url(../images/NOKIA/LEFT_BOTTOM.gif);
	background-repeat: no-repeat;
}
.NOKIA .LEFT_BOTTOM_BY_BUTTON
{
	/* 左下(有按钮时):请不要定义padding/margin/border/top/right/bottom/left属性 */
	width: 12px;
	height: 53px;
	background-image: url(../images/NOKIA/LEFT_BOTTOM_BY_BUTTON.gif);
	background-repeat: no-repeat;
}
.NOKIA .LEFT
{
	/* 请不要定义padding/margin/border/top/right/bottom/left属性 */
	width: 12px;
	background-image: url(../images/NOKIA/LEFT.gif);
	background-repeat: repeat-y;
}

/* 功能区样式 */
.NOKIA .RESIZE
{
	width: 12px;
	height: 12px;
	right: 0px;
	bottom: 0px;
}
.NOKIA .CLOSE
{
	width: 19px;
	height: 18px;
	right: 9px;
	top: 6px;
	cursor:default;
}

/* 逻辑区样式 */
.NOKIA .CONTENT
{
	/* 请不要定义padding/margin属性 */
	/* 请定义left = -(border-left),top = -(border-top) */
	left: 0px;
	top: 0px;
	background-color:#ffffff;
}
.NOKIA .CONTENT .FORM
{
	font-size: 14px;
	margin: 0px;
	padding: 12px;
}
.NOKIA .TITLE
{
	/* 请不要定义margin属性 */
	padding:8px 30px 0px 12px;
	font-size:14px;
	font-weight:bold;
	text-align: left;
	color: #ffffff;
	height: 16px;
	line-height: 16px;
	overflow: hidden;
}
.NOKIA .BUTTON
{
	/* 请不要定义margin属性 (暂不支持:width:100%;bottom:0px;) */
	padding: 0px 30px 5px 0px;
	text-align:right;
}
.NOKIA .BUTTON button
{
	width:59px;
	height:43px;
	border:0px;
	padding:0px;
	background-repeat:no-repeat;
}
.NOKIA .BUTTON .DISABLED
{
	filter:alpha(opacity=36);
	opacity:0.36;
}
.NOKIA .BUTTON .DISABLED2
{
	display: none;
}

/* 各种按钮样式 */
.NOKIA .BUTTON .BACK
{
	background-image:url(../images/nokia/BACK.gif);
}
.NOKIA .BUTTON .NEXT
{
	background-image:url(../images/nokia/NEXT.gif);
}
.NOKIA .BUTTON .OK
{
	background-image:url(../images/nokia/OK.gif);
}
.NOKIA .BUTTON .CANCEL
{
	background-image:url(../images/nokia/CANCEL.gif);
}
.NOKIA .BUTTON .HELP
{
	position:absolute;
	left:30px;
	top: 0px;
	background-image:url(../images/nokia/HELP.gif);
}
  为了可以实现丰富的效果以上样式看似有点复杂,整理一下思路其实很简洁:
  1. “边框样式”部分定义窗口的四条边四个角,通常参考例子修改各样式长宽和背景图片即可;
  2. “功能区样式”部分定义 关闭,缩放等按钮样式,例子仅定义了它们的位置和大小,其实应该再定义它们的背景图;
  3. “逻辑区样式”部分定义常用功能元素的样式,其中:
    .CONTENT = 窗口内容区样式,可以认为是内容区桌面背景;
    .CONTENT .FORM = 内容区具体内容的样式,但具体内容由 url 链接提供时,样式由 ur 链接页确定;
    .TITLE = 窗口标题样式
    .BUTTON = 按钮区样式
    .BUTTON button = 单个按钮的公共样式
    .BUTTON .DISABLED = 按钮禁用状态的默认样式,灰显效果
    .BUTTON .DISABLED2 = 按钮禁用状态的自定义样式,隐藏效果
  4. “各种按钮样式”部分定义具体按钮除公共样式外的特性,其中样式名与按钮名称对应。
  需要注意的是,还有一个.MODAL样式定义当弹出模态对话框后网页的遮罩层效果,例子是透明度很高的灰色背景。我们了解了以上结构与样式的一些关系后,基本上可以实现自己需要的各种效果。
  样式定义好后,应用就很简单了:
// ---- 应用 NOKIA 样式方式一
var myWindow = _window.Open("[url]http://www.fonshen.com", "Test", "class=NOKIA");
// ---- 应用 NOKIA 样式方式二
_window.ClassName = "NOKIA";
var myWindow = _window.Open("[url]http://www.fonshen.com", "Test");