|
|
||||
首页
文学作品 网页设计 平面设计 程序设计 考试认证 基础办公 QQ资源 服务器架设 网站运营 网页资源
|
|
|
| 汉南在线 → 网页设计 → JavaScript脚本 | |||||||||||
我们知道,对话框一般分为两种类型:模态类型(modal)与非模态类型(modeless)。所谓模态对话框,就是指除非采取有效的关闭手段,用户的鼠标焦点或者输入光标将一直停留在其上的对话框。非模态对话框则不会强制此种特性,用户可以在当前对话框以及其他窗口间进行切换。本文介绍如何使用JavaScript语言来创建这两种类型的对话框、控制其大小和位置、改变其外观以及在对话框间的数据传递。 本文的所有例程中,从层次上涉及到2个HTML页面。我们把第一个页面叫做caller页面,第二个页面叫做callee页面。也就是说,在caller页面执行代码创建生成callee页面。 一、创建模态和非模态对话框 首先,我们举个例子来快速了解一下什么是模态与非模态。在caller.htm中,我们输入以下代码: <INPUT TYPE="button" VALUE="创建模态对话框" onclick="fnOpenModal()">
<br><br> <INPUT TYPE="button" VALUE="创建非模态对话框" onclick="fnOpenModeless()"> <script language="javascript"> function fnOpenModal(){ window.showModalDialog("callee.htm") } function fnOpenModeless(){ window.showModelessDialog("callee.htm") } </script>
o dialogHeight: sHeight
o dialogLeft: sXpos o dialogTop: sYpos o dialogWidth: sWidth o center: ( yes | no | 1 | 0 | on | off ) o dialogHide: ( yes | no | 1 | 0 | on | off ) o edge: ( sunken | raised ) o help: ( yes | no | 1 | 0 | on | off ) o resizable: ( yes | no | 1 | 0 | on | off ) o scroll: ( yes | no | 1 | 0 | on | off ) o status: ( yes | no | 1 | 0 | on | off )
<INPUT TYPE="button" VALUE="创建模态对话框" onclick="fnOpenModal()">
<br><br> <INPUT TYPE="button" VALUE="创建非模态对话框" onclick="fnOpenModeless()"> <script language="javascript"> <!-- function fnOpenModal(){ window.showModalDialog("callee.htm","打开了一个新模态窗口") } function fnOpenModeless(){ window.showModelessDialog("callee.htm","打开了一个新非模态窗口") } // --> </script>
<SCRIPT LANGUAGE="JavaScript">
<!-- alert(dialogArguments); // --> </SCRIPT>
然后才出现新窗口。这种情况下,callee.htm页面中的window对象的属性dialogArguments将对应于caller.htm页面中的"打开了一个新模态窗口"或者"打开了一个新非模态窗口"。如果直接打开callee.htm,将会出现错误提示。 <INPUT TYPE="button" VALUE="创建模态对话框" onclick="fnOpenModal()">
<br><br> <INPUT TYPE="button" VALUE="创建非模态对话框" onclick="fnOpenModeless()"> <script language="javascript"> <!-- var a = new Array; a[0]="first"; a[1]="second"; a[2]="third"; function fnOpenModal(){ window.showModalDialog("callee.htm",a) } function fnOpenModeless(){ window.showModelessDialog("callee.htm",a) } // --> </script>
<SCRIPT LANGUAGE="JavaScript">
<!-- a = dialogArguments; alert(a); a[0] = "fourth"; // --> </SCRIPT>
<HTML>
<HEAD> <TITLE>传递对象数据</TITLE> <SCRIPT> var sColor=""; function callDialog() { showModelessDialog("callee.html",window,"status:false;dialogWidth:300px;dialogHeight:150px"); } function update() { oColor.innerText = sColor; } </SCRIPT> </HEAD> <BODY> <P>输入你最喜欢的颜色: <SPAN ID="oColor" STYLE="color:red;font-size:24">Yellow</SPAN></P> <INPUT TYPE="button" VALUE="Display Modeless Dialog" onclick="callDialog()"> </BODY> </HTML>
<HTML>
<HEAD> <TITLE>callee.html</TITLE> <SCRIPT> function getInfoAndUpdate() { var callerWindowObj = dialogArguments; callerWindowObj.sColor = oEnterColor.value; callerWindowObj.update(); } function cancel() { var callerWindowObj = dialogArguments; callerWindowObj.sColor = "Yellow"; callerWindowObj.update(); } </SCRIPT> </HEAD> <BODY> 输入你最喜欢的颜色:<INPUT ID=oEnterColor><BR><BR> <INPUT VALUE="Apply" TYPE=button onclick="getInfoAndUpdate();"> <INPUT VALUE="Ok" TYPE=button onclick="getInfoAndUpdate();window.close();"> <INPUT VALUE="Cancel" TYPE=button onclick="cancel();window.close();"> </BODY> </HTML>
function getInfoAndUpdate() {
var callerWindowObj = dialogArguments; callerWindowObj.sColor = oEnterColor.value; callerWindowObj.update(); }
| |||||||||||
| >> 相关文章 | |||||||||||
|
授权使用:汉南在线 http://hnzx.hzwz.net/ 经营许可证:陕ICP备05000109号 Powered by:汉南在线 Copyright (c) 2002-2008 汉南在线. All Rights Reserved . |