??xml version="1.0" encoding="utf-8" standalone="yes"?>
//各种寸
//qo(h)数字
//Ҏ(gu)用?/strong>
//不缓?/strong>
//正则匚w
//消除囑փ工具?/strong>
or
<head>
<meta http-equiv="imagetoolbar" content="no">
</head>
//取得控g得绝对位|?1)
//获得控g的绝对位|?2)
//最化,最大化,关闭
<param name="Command" value="Minimize"></object>
<object id=max classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
<param name="Command" value="Maximize"></object>
<OBJECT id=close classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<PARAM NAME="Command" value="Close"></OBJECT>
<input type=button value="/最化 onclick=min.Click()> "
<input type=button value="/最大化 onclick=max.Click()> "
<input type=button value="/关闭 onclick=close.Click()> "
//面q入和退出的Ҏ(gu)
//|页是否被检?/strong>
其中属性值有以下一?
属性gؓ(f)"all": 文g被(g)索,且页上链接可被查询;
属性gؓ(f)"none": 文g不被(g)索,而且不查询页上的链接Q?
属性gؓ(f)"index": 文g被(g)索;
属性gؓ(f)"follow": 查询上的链接;
属性gؓ(f)"noindex": 文g不检索,但可被查询链接;
属性gؓ(f)"nofollow":
//打印分页
//讄打印
//自带的打印预?/strong>
//L打印时的늜脚
//览器验?/strong>
//计算内容宽和?/strong> //无模式的提示?/strong>
function test(obj)
{
var range = obj.createTextRange();
alert("内容区宽? " + range.boundingWidth
+ "px\r\n内容区高? " + range.boundingHeight + "px");
}
</SCRIPT>
<BODY>
<Textarea id="txt" height="150">sdf</textarea><INPUT type="button" value="计算内容宽度" onClick="test(txt)">
</BODY>
{
window.showModelessDialog("javascript:alert(\""+escape(Msg)+"\");window.close();","","status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;");
}
//屏蔽打印
<style>
@media print{
* {display:none}
}
</style>
//Ud的图层,拖动
//文档状态改?
//h后不变的文本?/strong>
<HEAD>
<META NAME="save" CONTENT="history">
<STYLE>
.sHistory {behavior:url(#default#savehistory);}
</STYLE>
</HEAD>
<BODY>
<INPUT class=sHistory type=text id=oPersistInput>
</BODY>
</HTML>
本节教程介l当鼠标U过囄的时候弹Z个窗口的设计。这个弹出的H口是一个标准的|页Q你可以讄它的大小?/p>
首先在网늚Header标签处加入以下代码:(x)
<SCRIPT LANGUAGE="javascript">
var popupwindow_window = null;
function popupwindow(status,url) {
if(status != 0) {
if(popupwindow != null) popupwindow.focus();
else {
var popupwindow = open(url, "popupwindow", "width=350,height=225");
file://q?/font> 里设|弹出窗口的大小Q宽度ؓ(f)350Q高度ؓ(f)225.
popupwindow_window = popupwindow;
}
} else {
if(popupwindow_window != null) popupwindow_window.close();
}
}
</SCRIPT>
那如何调用这个javascript脚本呢?具体代码如下Q?/p>
This is your link <A HREF="" onMouseover="popupwindow(1,'popupwindow.html')"
onMouseout="popupwindow(0)"><img src="http://www.tkk7.com/images/picture.gif"
hspace=0 vspace=0 border=0 alt="Network"></A>
q样你只要将鼠标U过囄picture.gif的时候,׃(x)弹出一个宽度ؓ(f)350Q高度ؓ(f)225的网了(jin)?/p>
你可能对CGI脚本比较熟?zhn)Q利用CGI你可以通过表单数字或者变量从一个网上传递到另外一个网c(din)当?dng)你可以利用“POST”将变量以独立的U程q行传递而不昄在浏览器中,或者利用“GET”将变量~码到URL?/p>
javascript不能在变量在服务器端被处理的时候利用POSTҎ(gu)Q但是你可以注意到当你提交一个用GETҎ(gu)的表单的时候,定位条上在文件名之后包含?jin)额外的信息Q比如:(x)
www.pconline.com.cn/mypage.html?name=Mike&age=33
利用javascript我们可以讉Kq些变量Q具体可以用一个相关的数组合来实现Q如下所C:(x)
<SCRIPT language="javascript1.1">
<!-- Hide from older browsers
function formInput() {
// empty object
}
var valueOf = new formInput();
var pairs = document.location.search.substring(1).split("&");
for (var i=0; i < pairs.length; i++) {
var values = pairs[i].split("=");
valueOf[values[0]] = unescape(values[1]);
}
// Stop hiding -->
</SCRIPT>
以上代码的作用是从浏览器的定位条上将变量提取出来q将它们存储在一个相关的数组合中。在|页的其它部分Q何的变量都可以这栯引用Q如QvalueOf["variablename"]Q当然这些引用要在SCRIPT标签中?/p>
作ؓ(f)一个测试,我们可以利用for .. in loop循环语句列出所有的被传递的变量。这允许我们循环掉出所有相xl的内容而不我们是不是直到q些变量的名字。具体代码如下:(x)
<SCRIPT language="javascript">
<!-- Hide from older browsers
for (var x in valueOf) {
document.write(x + " = " + valueOf[x] + "<br>");
}
// Stop hiding -->
</SCRIPT>
q时候就?x)输入以下的内容Q?/p>
name=Mike
age=33
q个例子虽然没什么用Q但是它只是Z(jin)向你昄E序是如何工作的。这些变量现在就可以用在填充表单元素的内容,或者显C图片或者创建其它的|页内容QM可以实现CGI能实现的内容?/p>
DateQ日期)(j)对象可以使用Date()构造器来创建,在前面的教程中我们已l介l了(jin)Date()构造器Q这里就不重复叙q。它没有参数Q返回的数值就是当前的日期。下面的表格昄?jin)?f)日期构造器的有效输入:(x)
var today = new Date(); |
q回当前的日期和旉 |
var newyear = new Date("December 31, 1998 23:59:59"); |
输入的是表单的字W串 “月 日,q?时Q分钟:(x)U? |
var bday = new Date(75, 1, 16); |
参数是年份,月,? |
var bday = new Date(75, 1, 16, 12, 0, 0); |
q里作点补充Q月份是?开始的Q比如一月䆾=0Q二月䆾=1Q三月䆾=3{等?/p>
从上面可以看出创Z个日期对象是相对地简单,以下的表格是一pd的函数可以用于改变或者访问这些对象的属性:(x)
日期讉KҎ(gu)
Method(Ҏ(gu)) |
Description Q描qͼ(j) |
ValueQ数|(j) |
getYear() |
q回q䆾的最后两位数? |
2001 |
getMonth() |
q回q䆾中的W几?0?1) |
5 |
getDate() |
q回月䆾中的W几?1?1) |
2 |
getDay() |
q回星期中的W几?(0?) |
6 |
getTimezoneOffset() |
q回当地旉与格林尼d文台q_旉的差? |
-480 (-8h) |
getHours() |
q回一天中的时针点敎ͼ0?3Q? |
16 |
getMinutes() |
q回分钟 (0..59) |
8 |
getSeconds() |
q回旉的秒 (0?9) |
24 |
getTime() |
q回自从公元1970q??日的毫秒? |
991469304470 |
setDate() | 讄每月中的W几天(??0Q? |
setHours() | 讄时Q从0?3Q? |
setMinutes() | 讄分钟Q从0?9Q? |
setMonth() | 讄月䆾Q从0?1Q? |
setSeconds() | 讄U数Q从0?9Q? |
setTime() | 讄旉Q从公元以来的毫U数Q? |
setYear() | 讄q䆾 |
parse | 转化日期字符串ؓ(f)自从公元以来的毫U数Q比如Date.parse(“date string? |
toString() | Sat Jun 2 16:08:24 UTC+0800 2001 |
toGMTString() | Sat, 2 Jun 2001 08:08:24 UTC |
toLocaleString() | 2001q???16:08:24 |
所有的q些函数引用于独立的日期对象。如果你h深厚的Java~程背景Q那么你可以它们认为是Datecȝ一些公qҎ(gu)而已。下面给Z个典型的例子来设|日期对象到当前旉?q_(d)(x)
var nextYear = new Date(); // 初始化日期对?/p>
nextyear.setYear(nextYear.getYear() + 1); // 增加1q?/p>
实际上,parse函数是Date对象的一个方法,而不是一个独立的日期变量Q如果用Java术语Q它?yu)q为Datecȝ一个静(rn)态方法。这个正是我们ؓ(f)什么用Date.pase()而不使用somedate.parse()的原因啦?br />
一、屏蔽键盘所有键
<script language="javascript">
<!--
function document.onkeydown(){
event.keyCode = 0;
event.returnvalue = false;
}
-->
</script>
二、屏蔽鼠标右?/p>
在body标签里加上oncontextmenu=self.event.returnvalue=false 或?
<script language="javascript">
<!--
function document.oncontextmenu()
{
return false;
}
-->
</script>
function nocontextmenu()
{
if(document.all) {
event.cancelBubble=true;
event.returnvalue=false;
return false;
}
}
或?
<body onmousedown="rclick()" oncontextmenu= "nocontextmenu()">
<script language="javascript">
<!--
function rclick()
{
if(document.all) {
if (event.button == 2){
event.returnvalue=false;
}
}
}
-->
</script>
三、屏?Ctrl+N、Shift+F10、F5h、退格键
<script language="javascript">
<!--
//屏蔽鼠标右键、Ctrl+N、Shift+F10、F5h、退格键
function window.onhelp(){return false} //屏蔽F1帮助
function KeyDown(){
if ((window.event.altKey)&&
((window.event.keyCode==37)|| //屏蔽 Alt+ 方向??br />(window.event.keyCode==39))){ //屏蔽 Alt+ 方向??br />alert("不准你用ALT+方向键前q或后退|页Q?);
event.returnvalue=false;
}
注:(x)q还不是真正地屏?Alt+ 方向键,因ؓ(f) Alt+ 方向键弹?gu)告框Ӟ按?Alt 键不放,用鼠标点掉警告框Q这U?/p>
屏蔽Ҏ(gu)失效了(jin)?br />if ((event.keyCode == 8) &&
(event.srcElement.type != "text" &&
event.srcElement.type != "textarea" &&
event.srcElement.type != "password") || //屏蔽退格删除键
(event.keyCode==116)|| //屏蔽 F5 h?br />(event.ctrlKey && event.keyCode==82)){ //Ctrl + R
event.keyCode=0;
event.returnvalue=false;
}
if ((event.ctrlKey)&&(event.keyCode==78)) //屏蔽 Ctrl+n
event.returnvalue=false;
if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽 shift+F10
event.returnvalue=false;
if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
window.event.returnvalue = false; //屏蔽 shift 加鼠标左键新开一|页
if ((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4
window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");
return false;}
}
另外可以?window.open 的方法屏?IE 的所有菜?br /> W一U方法:(x)
window.open("你的.htm", "","toolbar=no,location=no,directories=no,menubar=no,
scrollbars=no,resizable=yes,status=no,top=0,left=0")
W二U方法是打开一个全屏的面Q?br />window.open("你的.asp", "", "fullscreen=yes")
*/
//-->
</script>
四、屏蔽浏览器右上角“最化”“最大化”“关闭”键
<script language=javascript>
function window.onbeforeunload()
{
if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey)
{
window.event.returnvalue = "";
}
}
</script>
或者用全屏打开面
<script language="javascript">
<!--
window.open(www.32pic.com,"32pic","fullscreen=3,height=100, width=400,
top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no,
status=no");
-->
</script>
注:(x)在body标签里加?br />onbeforeunload="javascript:return false"http://使不能关闭窗?/p>
五、屏蔽F5?br /><script language="javascript">
<!--
function document.onkeydown()
{
if ( event.keyCode==116)
{
event.keyCode = 0;
event.cancelBubble = true;
return false;
}
}
-->
</script>
六、屏蔽IE后退按钮
在你链接的时候用
<a href="javascript:location.replace(url)">
七、屏蔽主H口滚动?br /> 在body标签里加?br />style="overflow-y:hidden"
八、屏蔽拷?不断地清I剪贴板
在body标签里加?br />onload="setInterval('clipboardData.setData(\'Text\',\'\')',100)"
?ji)、屏蔽网站的打印功能
<style>
@media print {
* { display: none }
}
</style>
十、屏蔽IE6.0 囄上自动出现的保存图标
Ҏ(gu)一Q?br /><META HTTP-EQUIV="imagetoolbar" CONTENT="no">
Ҏ(gu)二:(x)
<img galleryimg="no">
十一、屏蔽页中所有的script
<noscrript></noscript>
<SCRIPT language="javascript">
/***************************************************************************************************************
* ??名:(x)selectListTools.js
* 文g描述Q关于list列表框的一些工h?br /> * 主要Ҏ(gu)Q?br /> * 1Q?moveUp(oSelect,isToTop) Q-Q-Q-Q-Q-Q- 向上Ud一个list列表框的选中目Q?br /> * 可以支持多选移动,可以讄是否Ud到顶?br /> * 2Q?moveDown(oSelect,isToBottom)Q-Q-Q-Q-Q- 向下Ud一个list列表框的选中目Q?br /> * 可以支持多选移动,可以讄是否Ud到底?br /> * 3Q?moveSelected(oSourceSel,oTargetSel) Q-Q-Q- 在两个列表框之间转移数据
* 4Q?moveAll(oSourceSel,oTargetSel)Q-Q-Q-Q-Q?转移两个列表框之间的全部数据
* 5Q?deleteSelectItem(oSelect) Q-Q-Q-Q-Q-Q?删除所选的目
*
****************************************************************************************************************/
/**
* 佉K中的项目上U?br /> *
* oSelect: 源列表框
* isToTop: 是否U至选择到端Q其它依ơ下U,
* true为移动到端Qfalse反之Q默认ؓ(f)false
*/
function moveUp(oSelect,isToTop)
{
//默认状态不是移动到端
if(isToTop == null)
var isToTop = false;
//如果是多?-----------------------------------------------------------------
if(oSelect.multiple)
{
for(var selIndex=0; selIndex<oSelect.options.length; selIndex++)
{
//如果讄?jin)移动到端标?br /> if(isToTop)
{
if(oSelect.options[selIndex].selected)
{
var transferIndex = selIndex;
while(transferIndex > 0 && !oSelect.options[transferIndex - 1].selected)
{
oSelect.options[transferIndex].swapNode(oSelect.options[transferIndex - 1]);
transferIndex --;
}
}
}
//没有讄Ud到顶端标?br /> else
{
if(oSelect.options[selIndex].selected)
{
if(selIndex > 0)
{
if(!oSelect.options[selIndex - 1].selected)
oSelect.options[selIndex].swapNode(oSelect.options[selIndex - 1]);
}
}
}
}
}
//如果是单?-------------------------------------------------------------------
else
{
var selIndex = oSelect.selectedIndex;
if(selIndex <= 0)
return;
//如果讄?jin)移动到端标?br /> if(isToTop)
{
while(selIndex > 0)
{
oSelect.options[selIndex].swapNode(oSelect.options[selIndex - 1]);
selIndex --;
}
}
//没有讄Ud到顶端标?br /> else
oSelect.options[selIndex].swapNode(oSelect.options[selIndex - 1]);
}
}
/**
* 佉K中的项目下U?br /> *
* oSelect: 源列表框
* isToTop: 是否U至选择到底端Q其它依ơ上U,
* true为移动到底端Qfalse反之Q默认ؓ(f)false
*/
function moveDown(oSelect,isToBottom)
{
//默认状态不是移动到端
if(isToBottom == null)
var isToBottom = false;
var selLength = oSelect.options.length - 1;
//如果是多?-----------------------------------------------------------------
if(oSelect.multiple)
{
for(var selIndex=oSelect.options.length - 1; selIndex>= 0; selIndex--)
{
//如果讄?jin)移动到端标?br /> if(isToBottom)
{
if(oSelect.options[selIndex].selected)
{
var transferIndex = selIndex;
while(transferIndex < selLength && !oSelect.options[transferIndex + 1].selected)
{
oSelect.options[transferIndex].swapNode(oSelect.options[transferIndex + 1]);
transferIndex ++;
}
}
}
//没有讄Ud到顶端标?br /> else
{
if(oSelect.options[selIndex].selected)
{
if(selIndex < selLength)
{
if(!oSelect.options[selIndex + 1].selected)
oSelect.options[selIndex].swapNode(oSelect.options[selIndex + 1]);
}
}
}
}
}
//如果是单?-------------------------------------------------------------------
else
{
var selIndex = oSelect.selectedIndex;
if(selIndex >= selLength - 1)
return;
//如果讄?jin)移动到端标?br /> if(isToBottom)
{
while(selIndex < selLength - 1)
{
oSelect.options[selIndex].swapNode(oSelect.options[selIndex + 1]);
selIndex ++;
}
}
//没有讄Ud到顶端标?br /> else
oSelect.options[selIndex].swapNode(oSelect.options[selIndex + 1]);
}
}
/**
* Udselect的部分内?必须存在valueQ此函数以value为标准进行移?br /> *
* oSourceSel: 源列表框对象
* oTargetSel: 目的列表框对?br /> */
function moveSelected(oSourceSel,oTargetSel)
{
//建立存储value和text的缓存数l?br /> var arrSelValue = new Array();
var arrSelText = new Array();
//此数l存贮选中的optionsQ以value来对?br /> var arrValueTextRelation = new Array();
var index = 0;//用来辅助建立~存数组
//存储源列表框中所有的数据到缓存中Qƈ建立value和选中option的对应关p?br /> for(var i=0; i<oSourceSel.options.length; i++)
{
if(oSourceSel.options[i].selected)
{
//存储
arrSelValue[index] = oSourceSel.options[i].value;
arrSelText[index] = oSourceSel.options[i].text;
//建立value和选中option的对应关p?br /> arrValueTextRelation[arrSelValue[index]] = oSourceSel.options[i];
index ++;
}
}
//增加~存的数据到目的列表框中Qƈ删除源列表框中的对应?br /> for(var i=0; i<arrSelText.length; i++)
{
//增加
var oOption = document.createElement("option");
oOption.text = arrSelText[i];
oOption.value = arrSelValue[i];
oTargetSel.add(oOption);
//删除源列表框中的对应?br /> oSourceSel.removeChild(arrValueTextRelation[arrSelValue[i]]);
}
}
/**
* Udselect的整块内?br /> *
* oSourceSel: 源列表框对象
* oTargetSel: 目的列表框对?br /> */
function moveAll(oSourceSel,oTargetSel)
{
//建立存储value和text的缓存数l?br /> var arrSelValue = new Array();
var arrSelText = new Array();
//存储所有源列表框数据到~存数组
for(var i=0; i<oSourceSel.options.length; i++)
{
arrSelValue[i] = oSourceSel.options[i].value;
arrSelText[i] = oSourceSel.options[i].text;
}
//缓存数l的数据增加到目的select?br /> for(var i=0; i<arrSelText.length; i++)
{
var oOption = document.createElement("option");
oOption.text = arrSelText[i];
oOption.value = arrSelValue[i];
oTargetSel.add(oOption);
}
//清空源列表框数据Q完成移?br /> oSourceSel.innerHTML = "";
}
/**
* 删除选定目
*
* oSelect: 源列表框对象
*/
function deleteSelectItem(oSelect)
{
for(var i=0; i<oSelect.options.length; i++)
{
if(i>=0 && i<=oSelect.options.length-1 && oSelect.options[i].selected)
{
oSelect.options[i] = null;
i --;
}
}
}
//js文g完毕
</SCRIPT>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<BODY style="font-size:12px">
<FORM name="form1" method="post" action="">
<SELECT name="left" size="10" id="select" multiple style="width:100px; ">
<OPTION value="aaaaa">aaaaa</OPTION>
<OPTION value="bbbbb">bbbbb</OPTION>
<OPTION value="ccccc">ccccc</OPTION>
</SELECT>
<INPUT style="border:1px solid black " type="button" value=">>>" onClick="moveSelected(document.all.left,document.all.right)">
<INPUT style="border:1px solid black " type="button" value="<<<" onClick="moveSelected(document.all.right,document.all.left)">
<SELECT name="right" size="10" id="select" multiple style="width:100px; ">
<OPTION value="ddddd">ddddd</OPTION>
<OPTION value="eeeee">eeeee</OPTION>
<OPTION value="fffff">fffff</OPTION>
<OPTION value="ggggg">ggggg</OPTION>
<OPTION value="hhhhh">hhhhh</OPTION>
<OPTION value="iiiii">iiiii</OPTION>
</SELECT>
<br><br><br><br>
<DIV style="background-color:#CCCCCC;padding:2px">
<INPUT style="border:1px solid black " type="button" value="上移一? onClick="moveUp(document.all.right);moveUp(document.all.left)">
<INPUT style="border:1px solid black " type="button" value="下移一? onClick="moveDown(document.all.right);moveDown(document.all.left)">
<INPUT style="border:1px solid black " type="button" value="上移到顶"
onClick="moveUp(document.all.right,true);moveUp(document.all.left,true)">
<INPUT style="border:1px solid black " type="button" value="下移到顶"
onClick="moveDown(document.all.right,true);moveDown(document.all.left,true);"> Q支持多选移动)(j)
</DIV>
<BR><BR>
<DIV style="background-color:#CCCCCC; padding:5px; width:100%; position:relative">
右移Q?lt;INPUT type="radio" name="ifAll" value="right" checked> <br>
左移Q?lt;INPUT type="radio" name="ifAll" value="left"><br><br>
<INPUT type="button" value="Ud全部" style="border:1px solid black " onClick="judgeMove()">
</DIV>
<br><br>
<DIV style="background-color:#CCCCCC; padding:5px">
<INPUT type="button" value=" ??" style="border:1px solid black "
onClick="deleteSelectItem(document.all.left);deleteSelectItem(document.all.right)">
</div>
</FORM>
</BODY>
<SCRIPT language="javascript">
function judgeMove()
{
var arrRadio = document.all.ifAll;
var valOfRadio;
for(var i=0; i<arrRadio.length; i++)
{
if(arrRadio[i].checked)
{
valOfRadio = arrRadio[i].value;
break;
}
}
if(valOfRadio == "left")
moveAll(document.all.right,document.all.left);
if(valOfRadio == "right")
moveAll(document.all.left,document.all.right);
}
</SCRIPT>
.xWin {
position:absolute;
cursor:default;
border-width:2px;
border-style:outset;
padding:0px;
font-size:12px;
overflow:hidden;
display:block;
}
.xWin .xWinSetting {
display:none;
}
.xWin .xTitle {
color:#FFFFFF;
height:20px;
display:block;
}
.xWin .xTitle input {
background-color:transparent;
color:#FFFFFF;
border-width:0px;
border-style:solid;
height:20px;
width:16px;
line-height:20px;
font-family:webdings;
font-size:10px;
margin:0px;
padding:0px;
text-align:center;
float:right;
display:block;
}
.xWin .xTitle .xWinTitleCloseButton {
}
.xWin .xTitle .xWinTitleMaxButton {
}
.xWin .xTitle .xWinTitleMinButton {
}
.xWin .xTitle .xWinTitleContent {
color:#FFFFFF;
font-size:12px;
height:18px;
line-height:20px;
margin:0px;
padding-left:3px;
float:left;
display:block;
overflow:hidden;
white-space:nowrap;
text-align:left;
cursor:default;
}
.xWin .xWinBody {
margin:0px;
background-color:#FFFFFF;
color:#000000;
padding:3px;
font-size:12px;
overflow:auto;
position:relative;
display:block;
}
.xShadow {
position:absolute;
display:block;
background-Color:#000000;
color:#FFFFFF;
}
</style>
<script type="text/javascript">
//<![CDATA[
//********************/
// x pd?xWin
// 作者:(x)Hutia
// 未经同意不得转蝲或用于商业用?br />//********************/
/*
说明Q?br /> xpd是Hutia开发的pdJS代码Q配合相应的css后可以实现快速的自定义标{?br /> 目前xpd支持的浏览器cd为:(x)IE5.5, FF1.5
xWin的标{ؓ(f) <div class="xwin">content</div>
支持属性:(x)
int left, int top, int width, int height
支持Ҏ(gu)Q?br /> Close(), Destroy(), Max([bolean Variable]), Min([bolean Variable]),
MoveTo(int x, int y), ResizeTo(int x, int y), SetContent(string Variable | htmlObject Variable)
SetTitle(string Variable), ShowHide()
*/
//**载入CSS*****
var xWinCssFilePath="sp\/css\/xwin.css";
//document.write("<style>@import url("+xWinCssFilePath+");</style>");
//**(g)浏览器U类*****
var BROWSERNAME="";
switch(navigator.appName.toLowerCase()){
case "netscape":
BROWSERNAME="ns";
break;
case "microsoft internet explorer":
default:
BROWSERNAME="ie";
break;
}
//**讄初始化变?*****
switch(BROWSERNAME){
case "ns":
window.addEventListener("load",_xWin_init,false);
break;
case "ie":
default:
window.attachEvent("onload",_xWin_init);
}
//**讄全局定时?*****
if(typeof(__xSeriaTimer__)=="undefined"){
var __xSeriaTimer__={
events:new Array(),
objs:new Array(),
handle:null,
exec:function(){
for(var i=0;i<__xSeriaTimer__.events.length;i++){
try{
with(__xSeriaTimer__.objs[i]){
eval(__xSeriaTimer__.events[i]);
}
}catch(e){}
}
},
pop:function(i){
__xSeriaTimer__.events[i]=null;
__xSeriaTimer__.objs[i]=null;
},
push:function(strV,obj){
for(var i=0;i<__xSeriaTimer__.events.length;i++){
if(__xSeriaTimer__.events[i]==null){
__xSeriaTimer__.events[i]=strV;
__xSeriaTimer__.objs[i]=obj;
return(i);
}
}
__xSeriaTimer__.events[i]=strV;
__xSeriaTimer__.objs[i]=obj;
return(i);
},
start:function(){
__xSeriaTimer__.stop();
__xSeriaTimer__.handle=setInterval(__xSeriaTimer__.exec,30);
},
stop:function(){
clearInterval(__xSeriaTimer__.handle);
}
};
__xSeriaTimer__.start();
}
//**初始化函?*****
function _xWin_init(){
var allTheWindows=document.getElementsByTagName("div");
for(var i=0;i<allTheWindows.length;i++){
if(allTheWindows[i].className=="xWin")_xWin_event_doInit(allTheWindows[i]);
}
}
//**事g响应函数?*****
function _xWin_event_doInit(element){
//初始化变?br /> element.ownerDocument.index=isNaN(element.ownerDocument.index)?10000:parseInt(element.ownerDocument.index)+1;
element.x0=0;element.y0=0;
element.x1=0;element.y1=0;
element.w0=0;element.h0=0;
element.offx=6;element.offy=6;
element.padx=0;element.pady=0;
element.minW=90;element.minH=(BROWSERNAME=="ns"?20:20);
element.moveable=false;
element.resizable=false;
element.hover='orange';element.normal='#336699';
element.minButton=BROWSERNAME=="ie"?"0":"_";
element.maxButton=BROWSERNAME=="ie"?"1":"=";
element.normalButton=BROWSERNAME=="ie"?"2":"+";
element.closeButton=BROWSERNAME=="ie"?"r":"X";
element._title="Untitled Window";
element._body="";
element._winRect={l:0,t:0,w:0,h:0};
element._restoredWinRect={l:0,t:0,w:0,h:0};
element._windowState="normal";
element.settingNode=getElementByClassName(element,"xWinSetting");
if(!element.settingNode){
element.settingNode=document.createElement("div");
element.settingNode.className="xWinSetting";
element.settingNode.xwin=element;
element.appendChild(element.settingNode);
}
element.xwin=element;
//讄Ҏ(gu)
element.Close=_xWin_method_Close;
element.Destroy=_xWin_method_Destroy;
element.GetSetting=_xWin_method_GetSetting;
element.Max=_xWin_method_Max;
element.Min=_xWin_method_Min;
element.MoveTo=_xWin_method_MoveTo;
element.ResizeTo=_xWin_method_ResizeTo;
element.SetContent=_xWin_method_SetContent;
element.SetTitle=_xWin_method_SetTitle;
element.ShowHide=_xWin_method_ShowHide;
//讄事g
element.onmousedown=_xWin_event_doMDown;
element.onmouseup=element.onlosecapture=_xWin_event_doMUp;
element.onmousemove=_xWin_event_doMMove;
element.onclick=_xWin_event_doClick;
element.onselectstart=element.onselect=_xWin_event_doSelect;
//记录昄风格
var tempDisplay=element.style.display;
//改变昄风格
element.style.display="block";
//讄H口变量
var w=parseInt(element.GetSetting("width"));
w=isNaN(w)?(element.offsetWidth+10):parseInt(w);
w=w<element.minW?element.minW:w;
var h=parseInt(element.GetSetting("height"));
h=isNaN(h)?(element.offsetHeight+30):parseInt(h);
h=h<element.minH?element.minH:h;
var l=parseInt(element.GetSetting("left"));
l=isNaN(l)?element.offsetLeft:parseInt(l);
l=l<1?1:l;
var t=parseInt(element.GetSetting("top"));
t=isNaN(t)?element.offsetTop:parseInt(t);
t=t<1?1:t;
var z=element.ownerDocument.index;
var title=new String(element.GetSetting("title"));
//讄H口标题
element.oTitle=element.ownerDocument.createElement("div");
element.oTitle.xwin=element;
element.oTitle.className="xTitle";
element.appendChild(element.oTitle);
//讄H口标题内容
element.oTitleContent=element.ownerDocument.createElement("span");
element.oTitleContent.xwin=element;
element.oTitleContent.className="xWinTitleContent";
element.oTitle.appendChild(element.oTitleContent);
element.oTitleContent.ondblclick=function(){this.xwin.Max();};
element.SetTitle(title);
//讄H口标题关闭按钮
element.oTitleCButton=element.ownerDocument.createElement("input");
element.oTitleCButton.xwin=element;
element.oTitleCButton.type="button";
element.oTitleCButton.className="xWinTitleCloseButton";
element.oTitle.appendChild(element.oTitleCButton);
element.oTitleCButton.onclick=function(){this.xwin.ShowHide("none");};
element.oTitleCButton.value=element.closeButton;
//讄H口标题最大化按钮
element.oTitleMaButton=element.ownerDocument.createElement("input");
element.oTitleMaButton.xwin=element;
element.oTitleMaButton.type="button";
element.oTitleMaButton.className="xWinTitleMaxButton";
element.oTitle.appendChild(element.oTitleMaButton);
element.oTitleMaButton.onclick=function(){this.xwin.Max();};
element.oTitleMaButton.value=element.maxButton;
//讄H口标题最化按钮
element.oTitleMButton=element.ownerDocument.createElement("input");
element.oTitleMButton.xwin=element;
element.oTitleMButton.type="button";
element.oTitleMButton.className="xWinTitleMinButton";
element.oTitle.appendChild(element.oTitleMButton);
element.oTitleMButton.onclick=function(){this.xwin.Min();};
element.oTitleMButton.value=element.minButton;
//讄H口内容
element.oContent=element.ownerDocument.createElement("div");
element.oContent.xwin=element;
element.oContent.className="xWinBody";
element.appendChild(element.oContent);
oC=element.firstChild;
while(oC){
tC=oC.nextSibling;
if(oC!=element.oTitle&&oC!=element.oContent){
element.oContent.appendChild(oC);
}
oC=tC;
}
//讄H口阴媄(jing)
element.oShadow=element.ownerDocument.createElement("div");
element.oShadow.xwin=element;
element.oShadow.className="xShadow";
element.parentNode.insertBefore(element.oShadow,element.nextSibling);
element.oShadow.style.zIndex=z-1;
element.MoveTo(l,t);
element.ResizeTo(w,h);
//恢复昄风格
element.style.display=tempDisplay;
//讄H口样式
with(element.style){
zIndex=z;
backgroundColor=element.normal;
color=element.normal;
}
padx=element.offsetWidth-element.clientWidth;
pady=element.offsetHeight-element.clientHeight;
}
function _xWin_event_doMDown(evt){
var e=evt?evt:window.event;
var eSrc=e.srcElement?e.srcElement:e.target;
var leftButton=e.srcElement?e.button==1:e.button==0;
if(this.style.zIndex!=this.ownerDocument.index){//窗口放到最?br /> this.ownerDocument.index+=2;
var idx = this.ownerDocument.index;
this.style.zIndex=idx;
this.nextSibling.style.zIndex=idx-1;
}
if(eSrc==this.oTitleContent&&leftButton&&this._windowState=="normal"){//如果开始拖?br /> //锁定标题?
document.captureEvents?document.captureEvents("mousemove",this.oTitle):this.oTitle.setCapture();
//定义对象;
var win = this;
var sha = win.nextSibling;
//记录鼠标和层位置;
this.x0 = e.clientX;
this.y0 = e.clientY;
this.x1 = parseInt(win.style.left);
this.y1 = parseInt(win.style.top);
//改变风格;
this.oTitle.style.backgroundColor = this.hover;
win.style.borderColor = this.hover;
this.oTitle.nextSibling.style.color = this.hover;
sha.style.left = this.x1 + this.offx;
sha.style.top = this.y1 + this.offy;
this.moveable = true;
return(true);
}
if(this.style.cursor!="default"&&this._windowState=="normal"){//开始改变大?br /> //锁定标题?
document.captureEvents?document.captureEvents("mousemove",this.oTitle):this.oTitle.setCapture();
//定义对象;
var win = this;
var sha = win.nextSibling;
//记录鼠标位置和层位置和大?
this.x0=e.clientX;
this.y0=e.clientY;
this.x1=parseInt(win.offsetLeft);
this.y1=parseInt(win.offsetTop);
this.w0=parseInt(win.offsetWidth);
this.h0=parseInt(win.offsetHeight);
//改变风格;
this.oTitle.style.backgroundColor = this.hover;
win.style.borderColor = this.hover;
this.oTitle.nextSibling.style.color = this.hover;
sha.style.left = this.x1 + this.offx;
sha.style.top = this.y1 + this.offy;
this.resizable = true;
return(true);
}
}
function _xWin_event_doMUp(evt){
var e=evt?evt:window.event;
document.releaseEvents?document.releaseEvents("mousemove",this.oTitle):this.oTitle.releaseCapture();
if(this.moveable){
var win = this;
var sha = win.nextSibling;
var msg = this.oTitle.nextSibling;
win.style.borderColor = "";
this.oTitle.style.backgroundColor = "";
msg.style.color = "";
sha.style.left = this.oTitle.parentNode.style.left;
sha.style.top = this.oTitle.parentNode.style.top;
this.moveable = false;
return(false);
}
if(this.resizable){
var win = this;
var sha = win.nextSibling;
var msg = this.oTitle.nextSibling;
win.style.borderColor = "";
this.oTitle.style.backgroundColor = "";
msg.style.color = "";
sha.style.left = this.oTitle.parentNode.style.left;
sha.style.top = this.oTitle.parentNode.style.top;
sha.style.width = this.oTitle.parentNode.style.width;
sha.style.height = this.oTitle.parentNode.style.height;
this.style.cursor="default";
this.resizable = false;
return(false);
}
}
function _xWin_event_doMMove(evt){
var e=evt?evt:window.event;
if(this.moveable){//拖动H口
this.MoveTo(this.x1 + e.clientX - this.x0, this.y1 + e.clientY - this.y0);
return(true);
}
if(this.resizable){//改变H口大小
var xxx=this.style.cursor.substring(0,2).match(/[we]/i);
var yyy=this.style.cursor.substring(0,2).match(/[ns]/i);
l=this.offsetLeft;
t=this.offsetTop;
w=parseInt(this.style.width);
h=parseInt(this.style.height);
if(xxx=="w"){
l=this.x1+e.clientX - this.x0;
w=this.w0+this.x0-e.clientX;
if(l<0){w+=l;l=0;}
if(w<this.minW){l=l+w-this.minW;w=this.minW;}
}
if(xxx=="e"){
w=this.w0+e.clientX-this.x0;
w=w<this.minW?this.minW:w;
}
if(yyy=="n"){
t=this.y1+e.clientY - this.y0;
h=this.h0+this.y0-e.clientY;
if(t<0){h+=t;t=0;}
if(h<this.minH){t=t+h-this.minH;h=this.minH;}
}
if(yyy=="s"){
h=this.h0+e.clientY-this.y0;
h=h<this.minH?this.minH:h;
}
this.MoveTo(l,t);
this.ResizeTo(w,h);
return(true);
}
if(this._windowState=="normal"){
var cc="";
x=window.getRealLeft(this);
y=window.getRealTop(this);
w=parseInt(this.offsetWidth);
h=parseInt(this.offsetHeight);
if(e.clientY-y<5)cc+="n";
if(y+h-e.clientY<5)cc+="s";
if(e.clientX-x<5)cc+="w";
if(x+w-e.clientX<5)cc+="e";
if(cc!=""){
this.style.cursor=cc+"-resize";
return(true);
}
if(this.style.cursor!="default"){
this.style.cursor="default";
}
}
}
function _xWin_event_doClick(evt){
var e=evt?evt:window.event;
var eSrc=e.srcElement?e.srcElement:e.target;
switch(eSrc){
}
}
function _xWin_event_doSelect(evt){
var e=evt?evt:window.event;
var eSrc=e.srcElement?e.srcElement:e.target;
if(eSrc==this.oTitle||this.oTitle.contains(eSrc)){
e.cancelBubble=true;
e.returnValue=false;
return(false);
}
}
function _xWinParentNode_event_doScroll(evt){
if(!this.minimizedWindows)return(true);
for(var i=0;i<this.minimizedWindows.length;i++){
this.minimizedWindows[i].Min(true);
}
}
//**Ҏ(gu)函数?*****
function _xWin_method_Close(){
this.Destroy();
}
function _xWin_method_Destroy(){
if(this.minIndex){
this.parentNode.minimizedWindows[this.minIndex]=null;
this.minIndex=null;
}
this.outerHTML="";
}
function _xWin_method_GetSetting(attributeName){
var settingString=this.settingNode.innerHTML;
if(!attributeName)return(settingString);
var regE=new RegExp(attributeName+"=[ \t]*\"?([^\"]*)","i");
var re=settingString.match(regE);
if(re){
return(re[1]);
}else{
return(re);
}
}
function _xWin_method_Max(reV){
if(this._windowState=="maximize"&&(!reV)){
//q原父节点overflow属?br /> this.parentNode.style.overflow=this.parentNode.restoredStyle_overflow;
this.MoveTo(this._restoredWinRect.l,this._restoredWinRect.t);
this.ResizeTo(this._restoredWinRect.w,this._restoredWinRect.h);
this.oTitleMButton.value = this.minButton;
this.oTitleMaButton.value = this.maxButton;
this._windowState="normal";
}else{
if(this._windowState=="normal"){
this._restoredWinRect.l=this._winRect.l;this._restoredWinRect.t=this._winRect.t;
this._restoredWinRect.w=this._winRect.w;this._restoredWinRect.h=this._winRect.h;
}
if(this.minIndex!=null){
this.parentNode.minimizedWindows[this.minIndex]=null;
this.minIndex=null;
}
if(this.minTimeHandle!=null){
__xSeriaTimer__.pop(this.minTimeHandle);
this.minTimeHandle=null;
}
//U录父节点overflow属?br /> this.parentNode.restoredStyle_overflow=this.parentNode.style.overflow;
//改变父节点overflow属?br /> this.parentNode.style.overflow="hidden";
this.MoveTo(0,0);
if(this.parentNode!=document.body){
w=this.parentNode.clientWidth-5;
h=this.parentNode.clientHeight-4;
}else{
w=document.documentElement.clientWidth-5;
h=document.documentElement.clientHeight-4;
}
this.ResizeTo(w,h);
this.oTitleMButton.value = this.minButton;
this.oTitleMaButton.value = this.normalButton;
this._windowState="maximize";
this.scrollIntoView();
}
}
function _xWin_method_Min(reV){
if(this._windowState=="minimize"&&(!reV)){
this.MoveTo(this._restoredWinRect.l,this._restoredWinRect.t);
this.ResizeTo(this._restoredWinRect.w,this._restoredWinRect.h);
this.oTitleMButton.value = this.minButton;
this.oTitleMaButton.value = this.maxButton;
this._windowState="normal";
this.parentNode.minimizedWindows[this.minIndex]=null;
this.minIndex=null;
if(this.minTimeHandle!=null){
__xSeriaTimer__.pop(this.minTimeHandle);
this.minTimeHandle=null;
}
}else{
if(this._windowState=="normal"){
this._restoredWinRect.l=this._winRect.l;this._restoredWinRect.t=this._winRect.t;
this._restoredWinRect.w=this._winRect.w;this._restoredWinRect.h=this._winRect.h;
}else{
//q原父节点overflow属?br /> try{
this.parentNode.style.overflow=this.parentNode.restoredStyle_overflow;
}catch(e){}
}
if(!this.parentNode.minimizedWindows)this.parentNode.minimizedWindows=new Array();
if(this._windowState!="minimize"){
for(var i=0;i<this.parentNode.minimizedWindows.length;i++){
if(this.parentNode.minimizedWindows[i]==null)break;
}
this.parentNode.minimizedWindows[i]=this;
}else{
i=this.minIndex;
}
this.ResizeTo(0,0);
var w=this.offsetWidth;
var h=this.offsetHeight;
var mw=getParentRect(this).mw;
var mh=getParentRect(this).mh;
var n=parseInt(mw/w);
var t=parseInt(i/n)+1;
this.MoveTo(w*(i%n),mh-t*h-1);
if(mh>getParentRect(this).mh){
this.MoveTo(w*(i%n),mh-t*h-200);
mh=getParentRect(this).mh;
this.MoveTo(w*(i%n),mh-t*h-1);
}
this.minIndex=i;
this.oTitleMButton.value = this.normalButton;
this.oTitleMaButton.value = this.maxButton;
this._windowState="minimize";
if(this.minTimeHandle==null){
this.minTimeHandle=__xSeriaTimer__.push("Min(true)",this);
this.scrollIntoView();
}
}
}
function _xWin_method_MoveTo(x,y){
var win = this.oTitle.parentNode;
var sha = win.nextSibling;
x=isNaN(x)?0:parseInt(x);
y=isNaN(y)?0:parseInt(y);
x=x<0?0:x;
y=y<0?0:y;
this.style.left=x+"px";
this.style.top=y+"px";
sha.style.left = parseInt(win.style.left) + ((this.moveable||this.resizable)?this.offx:0)+"px";
sha.style.top = parseInt(win.style.top) + ((this.moveable||this.resizable)?this.offy:0)+"px";
this._winRect.l=x;
this._winRect.t=y;
}
function _xWin_method_ResizeTo(w,h){
var win = this;
var sha = win.nextSibling;
var w=isNaN(w)?this.minW:parseInt(w);
var h=isNaN(h)?this.minH:parseInt(h);
var w=w<this.minW?this.minW:w;
var h=h<this.minH?this.minH:h;
this.style.width=w+"px";
this.style.height=h+"px";
this.oTitle.style.width=parseInt(this.clientWidth)+"px";
var wTC=this.clientWidth;
for(var i=0;i<this.oTitle.childNodes.length;i++){
if(this.oTitle.childNodes[i]!=this.oTitleContent){wTC-=this.oTitle.childNodes[i].offsetWidth;}
}
wTC-=8;
this.oTitleContent.style.width=(wTC<1?1:wTC)+"px";
var wC=this.clientHeight-this.oTitle.offsetHeight-6;
this.oContent.style.height=(wC<1?1:wC)+"px";
this.oContent.style.width=parseInt(this.clientWidth-6)+"px";
sha.style.left = parseInt(win.style.left) + ((this.moveable||this.resizable)?this.offx:0)+"px";
sha.style.top = parseInt(win.style.top) + ((this.moveable||this.resizable)?this.offy:0)+"px";
sha.style.width = parseInt(win.style.width)+"px";
sha.style.height = parseInt(win.style.height)+"px";
this._winRect.w=w;
this._winRect.h=h;
}
function _xWin_method_SetContent(v){
if(this.oContent){
if(v==null||v==undefined||v==""){this._body=this.oContent.innerHTML="";return(this.oContent);}
if(typeof(v)=="string"){
this._body=this.oContent.innerHTML=v;
return(this.oContent);
}else{
try{
this.oContent.innerHTML="";
this._body=this.oContent.appendChild(v);
return(this.oContent);
}catch(e){
throw(e);
}
}
}else{
this._body=v;
return(null);
}
}
function _xWin_method_SetTitle(strT){
this._title=strT==null?this._title:strT;
if(this.oTitleContent){
setInnerText(this.oTitleContent,this._title);
}
}
function _xWin_method_ShowHide(dis){
var bdisplay = (dis==null)?((this.style.display=="none")?"":"none"):dis;
this.style.display = bdisplay;
this.nextSibling.style.display = bdisplay;
if(bdisplay=="none"){
if(this._windowState=="minimize"){
this.parentNode.minimizedWindows[this.minIndex]=null;
this.minIndex=null;
}
}else{
if(this._windowState=="minimize"){
this.Min();
}
}
}
//**通用函数?**
function getRealLeft(o){
var l=o.offsetLeft-o.scrollLeft;
while(o=o.offsetParent){
l+=o.offsetLeft-o.scrollLeft;
}
return(l);
}
function getRealTop(o){
var t=o.offsetTop-o.scrollTop;
while(o=o.offsetParent){
t+=o.offsetTop-o.scrollTop;
}
return(t);
}
function setInnerText(obj,text){
switch(BROWSERNAME){
case "ns":
obj.textContent=text;
break;
case "ie":
default:
obj.innerText=text;
}
}
function getElementByClassName(obj,className){
for(var i=0;i<obj.childNodes.length;i++){
if(obj.childNodes[i].className==className)return(obj.childNodes[i]);
}
return(null);
}
function getParentRect(obj){
var re=new Object();
if(obj.parentNode!=document.body){
re.mw=Math.max(obj.parentNode.scrollWidth,obj.parentNode.clientWidth);
re.mh=Math.max(obj.parentNode.scrollHeight,obj.parentNode.clientHeight);
}else{
re.mw=Math.max(document.documentElement.scrollWidth,document.documentElement.clientWidth);
re.mh=Math.max(document.documentElement.scrollHeight,document.documentElement.clientHeight);
}
return(re);
}
//]]>
</script>
</head>
<body>
<div class="xWin" id="win1" >
<span class="xWinSetting">width="400" height="400" top="300" left="100" title="我就是传说中那个长的窗口标?</span>
我就是传说中那个长的窗口标题我是传说
<div class="xWin" id="win30" >
<span class="xWinSetting"> width="100" top="20" left="20" title="我就是传说中那个长的窗口标?</span>
中那个超长的H口标题我就是传说中那个?lt;br/>长的H口标题我就是传说中那个长
</div>
的窗口标题我是传说中那个超长的H口标题我就是传说中那个长的窗口标题我是传说中那个超长的H口标题
我就是传说中那个长?br /> <div class="xWin" id="win31" >
<span class="xWinSetting">width="100" top="40" left="40" title="我就是传说中那个长的窗口标? </span>
中那个超长的H口标题我就是传说中那个?lt;br/>长的H口标题我就是传说中那个长
</div>
H口标题我就是传说中?br /> 个超长的H口标题我就是传说中那个长的窗口标题我是传说中那个超长的H口标题我就是传说中?br /> 个超长的H口标题我就是传说中那个长的窗口标?br /> c<br/>
12345
</div>
<div class="xWin" id="win2">
<span class="xWinSetting"> width="200" top="270" left="140" title="我就是传说中那个长的窗口标?</span>
我是H口2<br/>
我是H口2<br/>
我是H口2<br/>
我是H口2<br/>
<a href="javascript:void(0);">更换标题</a>
我是H口2<br/>
我是H口2<br/>
我是H口2<br/>
我是H口2<br/>
</div>
<a href="javascript:win1.ShowHide('');void(0);">win1</a>
<a href="javascript:win2.ShowHide('');void(0);">win2</a>
<a href="javascript:document.getElementById('win3').ShowHide('');void(0);">win3</a>
<a href="javascript:document.getElementById('win4').ShowHide('');void(0);">win4</a>
<div id="ssss"></div>
</body>
</html>
效果Q?br />
支持环境Q?/strong>
JavaScript1.0+/JScript1.0+/Nav2+/IE3+/Opera3+
基本语法Q?/strong>
window.open(pageURL,name,parameters)
其中Q?br />pageURL 为子H口路径
name 为子H口句柄
parameters 为窗口参?各参数用逗号分隔)
CZQ?/strong>
<SCRIPT>
<!--
window.open ('page.html','newwindow','height=100,width=400,top=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no')
//写成一?
-->
</SCRIPT>
脚本q行后,page.html在新窗体newwindow中打开Q宽?00Q高?00Q距屏顶0象素Q屏?象素Q无工具条,无菜单条Q无滚动条,不可调整大小Q无地址栏,无状态栏?br />请对照?/font>
上例中涉?qing)的为常用的几个参数Q除此以外还有很多其他参数?/font>
各项参数Q?br />其中yes/no也可使用1/0Qpixel value为具体的数|单位象素?/font>
参数 | 取D?| 说明
alwaysLowered | yes/no | 指定H口隐藏在所有窗口之?
alwaysRaised | yes/no | 指定H口(zhn)Q在所有窗口之?
depended | yes/no | 是否和父H口同时关闭
directories | yes/no | Nav2?的目录栏是否可见
height | pixel value | H口高度
hotkeys | yes/no | 在没菜单栏的H口中设安全退出热?
innerHeight | pixel value | H口中文档的像素高度
innerWidth | pixel value | H口中文档的像素宽度
location | yes/no | 位置栏是否可?
menubar | yes/no | 菜单栏是否可?
outerHeight | pixel value | 讑֮H口(包括装饰Ҏ(gu))的像素高?
outerWidth | pixel value | 讑֮H口(包括装饰Ҏ(gu))的像素宽?
resizable | yes/no | H口大小是否可调?
screenX | pixel value | H口距屏q左边界的像素长?
screenY | pixel value | H口距屏q上边界的像素长?
scrollbars | yes/no | H口是否可有滚动?
titlebar | yes/no | H口题目栏是否可?
toolbar | yes/no | H口工具栏是否可?
Width | pixel value | H口的像素宽?
z-look | yes/no | H口被激zd是否在其它H口之上
二?strong>window.showModalDialog使用手册
基本介绍Q?/strong>
showModalDialog() (IE 4+ 支持)
showModelessDialog() (IE 5+ 支持)
window.showModalDialog()Ҏ(gu)用来创徏一个显CHTML内容的模态对话框?br />window.showModelessDialog()Ҏ(gu)用来创徏一个显CHTML内容的非模态对话框?/font>
使用Ҏ(gu)Q?br />vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures])
vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures])
参数说明Q?/strong>
sURL--
必选参敎ͼcdQ字W串。用来指定对话框要显C的文档的URL?br />vArguments--
可选参敎ͼcdQ变体。用来向对话框传递参数。传递的参数cd不限Q包括数l等。对话框通过window.dialogArguments来取得传递进来的参数?br />sFeatures--
可选参敎ͼcdQ字W串。用来描q对话框的外观等信息Q可以用以下的一个或几个Q用分号?”隔开?br />1.dialogHeight :对话框高度,不小于1Q0pxQテQ4中dialogHeight ?dialogWidth 默认的单位是emQ而テQ5中是pxQؓ(f)方便其见Q在定义modal方式的对话框Ӟ用px做单位?br />2.dialogWidth: 对话框宽度?br />3.dialogLeft: dq左的距R?br />4.dialogTop: dq上的距R?br />5.center: {yes | no | 1 | 0 }Q窗口是否居中,默认yesQ但仍可以指定高度和宽度?br />6.help: {yes | no | 1 | 0 }Q是否显C帮助按钮,默认yes?br />7.resizable: {yes | no | 1 | 0 } QテQ5Q]Q是否可被改变大。默认no?br />8.status: {yes | no | 1 | 0 } QIE5+Q:(x)是否昄状态栏。默认ؓ(f)yes[ Modeless]或no[Modal]?br />9.scroll:{ yes | no | 1 | 0 | on | off }Q指明对话框是否昄滚动条。默认ؓ(f)yes?br />下面几个属性是用在HTA中的Q在一般的|页中一般不使用?br />10.dialogHide:{ yes | no | 1 | 0 | on | off }Q在打印或者打印预览时对话框是否隐藏。默认ؓ(f)no?br />11.edge:{ sunken | raised }Q指明对话框的边框样式。默认ؓ(f)raised?br />12.unadorned:{ yes | no | 1 | 0 | on | off }Q默认ؓ(f)no?/font>
参数传递:(x)
1.要想对话框传递参敎ͼ是通过vArguments来进行传递的。类型不限制Q对于字W串cdQ最大ؓ(f)4096个字W。也可以传递对象,例如Q?br />-------------------------------
parent.htm
<script>
var obj = new Object();
obj.name="51js";
window.showModalDialog("modal.htm",obj,"dialogWidth=200px;dialogHeight=100px");
</script>
modal.htm
<script>
var obj = window.dialogArguments
alert("(zhn)传递的参数为:(x)" + obj.name)
</script>
-------------------------------
2.可以通过window.returnValue向打开对话框的H口q回信息Q当然也可以是对象。例如:(x)
------------------------------
parent.htm
<script>
str =window.showModalDialog("modal.htm",,"dialogWidth=200px;dialogHeight=100px");
alert(str);
</script>
modal.htm
B.1 anchor对象
使用<A NAME=>标记创徏的HTML描点能被一个链接作为目标如果锚点包括HREF=Ҏ(gu)?则它也是一个链接对象?br /> anchor对象是document对象的一个属?它本w没有属性方法或者事件处理程序?/p>
B.2 anchors数组
anchors数组是document对象的一个属?是文档内所有anchor对象的一个列表如果anchor也是一个link(链接),则它?x)同时出现在anchors和links数组中?br /> 属?br /> length 文档内的锚点个数
B.3 array对象
array对象是Netscape Navlgator 3.0 beta 3中引入的一个新的对?因?它不能在Netscape 2.0中用它是一个内|对?而不是其它对象的属性?br /> 属?br /> length 数组中的g?/p>
B.4 button对象
它是form对象的一个属?使用<INPUT TYPE="BUTTON">标记来创建?br /> 属?br /> name HTML标记中的NAME=Ҏ(gu)?br /> value HTML标记中的VALUE=Ҏ(gu)?br /> Ҏ(gu)
click 模拟鼠标单击一按钮
事g处理E序
Onclick
B.5 checkbox 对象
它是form对象的一个属?使用<INPUT TYPE="CHECKBOX">标记来创建?br /> 属?br /> checked 复选框的选择状?br /> defaultChecked 标记的CHECKED=Ҏ(gu)?br /> name 标记的NAME=Ҏ(gu)?br /> value 标记的VALUE=Ҏ(gu)?br /> Ҏ(gu)
click 模拟鼠标单击按钮
事g处理E序
onclick
B.6 Date对象
它是一个内|对象——而不是其它对象的属?允许用户执行各种使用日期和时间的q程?br /> Ҏ(gu)
getDate() 查看Date对象q返回日?br /> getDay() q回星期?br /> getHours() q回时?br /> getMinutes() q回分钟?br /> getMonth() q回月䆾?br /> getSeconds() q回U数
getTime() q回完整的时?br /> getTimezoneoffset() q回时区偏差?格林威治q_旉与运行脚本的计算机所处时|之间相差的时?
getYear() q回q䆾
parse() q回在Date字符串中自从1970q???0:00:00以来的毫U数(Date对象按照毫秒数的形式存储从那时v的日期和旉)但是注意,该方法当前不能正运?br /> setDate() 改变Date对象的日?br /> setHours() 改变时?br /> setMinutes() 改变分钟?br /> setMonth() 改变月䆾
setSeconds() 改变U数
setTime() 改变完整的时?br /> setYear() 改变q䆾
toGMTString() 把Date对象的日?一个数?转变成一个GMT旉字符?q回cM下面的?Weds,15 June l997 14:02:02 GMT(_的格式依赖于计算Z所q行的操作系l而变)
toLocaleString() 把Date对象的日?一个数?转变成一个字W串,使用所在计机上配|用的特定日期格式
UTC() 使用Date UTC(q、月、日、时、分、秒),以自?970q???0:00:00(其中时、分、秒是可选的)以来的毫U数的Ş式返回日?/p>
B.7 document对象
该对象是window和frames对象的一个属?是显CZH口或框架内的一个文档?br /> 属?br /> alinkColor zd链接的颜?ALINK)
anchor 一个HTMI锚点,使用<A NAME=>标记创徏(该属性本w也是一个对?
anchors array 列出文档锚点对象的数l?<A NAME=>)(该属性本w也是一个对?
bgColor 文档的背景颜?BGCOLOR)
cookie 存储于cookie.txt文g内的一D信?它是该文档对象的一个属?br /> fgColor 文档的文本颜?<BODY>标记里的TEXTҎ(gu)?
form 文档中的一个窗?<FORM>)(该属性本w也是一个对?
forms anay 按照其出现在文档中的序列出H体对象的一个数l?该属性本w也是一个对?
lastModified 文档最后的修改日期
linkColor 文档的链接的颜色,?lt;BODY>标记中的LINKҎ(gu)?链接到用h有观察到的文?
link 文档中的一?lt;A HREF=>标记(该属性本w也是一个对?
links array 文档中link对象的一个数l?按照它们出现在文档中的顺序排?该属性本w也是一个对?
location 当前昄文档的URL。用户不能改变document.location(因ؓ(f)q是当前昄文档的位|?。但?可以改变window.location (用其它文档取代当前文?window.location本n也是一个对?而document.location不是对象
referrer 包含链接的文档的URL,用户单击该链接可到达当前文档
title 文档的标?(TITLE>)
vlinkColor 指向用户已观察过的文档的链接文本颜色,?lt;BODY>标记的VLINKҎ(gu)?br /> Ҏ(gu)
clear 清除指定文档的内?br /> close 关闭文档?br /> open 打开文档?br /> write 把文本写入文?br /> writeln 把文本写入文?q以换行W结?/p>
B.8 elements数组
它是form对象的一个属?列D?jin)窗体内各元素的一个数l?br /> 属?br /> 1ength H体内的元素个数
B.9 form对象
它是document对象的一个属?文档内的一个窗体?br /> 属?br /> action 包含?jin)?f)一个窗体提交的目标URL的字W串
button H体内的一个按?使用<INPUT TYPE=”BUTTON?gt;标记来创?该属性本w也是一个对?
checkbox 复选框,使用<INPUT TYPE=”CHECKBOX?gt;标记来创?(该属性本w也是一个对?
elements array 一个数l?按照其出CH体内的序列D各窗体元?该属性本w也是一个对?
encoding H体的MIME~码
hidden H体里的一个隐藏元?<INPUT TYPE=”HIDDEN?gt;)。窗体对象的一个属?该属性本w也是一个对?
length H体里的元素的个?br /> method 输入H体的数据传送到服务器上的方??FORM)标记中的METHODҎ(gu)?br /> radio 讄在窗体里的单选按?<INPUT TYPE=”RADIO?gt;)(该属性本w也是一个对?
reset H体里的复位按钮((1NPUT TYPE=”RESET?gt;)(该属性自w也是一个对?
select H体里的选择?<SELECT>)(该属性本w也是一个对?
submit H体里的提交按钮(<INPUT TYPE=”SUBMIT?gt;)(该属性本w也是一个对?
target 提交H体?昄回应信息的窗口的名字
text H体里的文本元素(<INPUT TYPE=”TEXT?gt;)(该属性本w也是一个对?
textarta H体里的文本区元?<TEXTAREA>)(该属性本w也是一个对?
Ҏ(gu)
submit 提交H体(与用Submit按钮的作用相?事g处理E序
onsubmit
B.10 forms数组
该数l是document对象的一个属?卛_举了(jin)文档内的各窗体的一个数l?br /> 属?br /> length 文档内窗体的个数
B.11 frame对象
它是window对象的一个属?H口内的一个框架。除?jin)个别例?frame对象与window对象的作用相同?br /> 属?br /> frames array 列D该框架内的各个子框架的一个数l?该属性本w也是—个对象)
length 该框架内的框架数
name 框架的名?<FRAME>标记里的NAMEҎ(gu)?
parent 包含本框架的父窗口的同义?br /> self 当前框架的同义词
window 当前框架的同义词
Ҏ(gu)
clearTimeout() 用来l止setTimeoutҎ(gu)的工?br /> setTimeout() {待指定的毫U数,然后q行指o(h)
B.12 frames数组
它既是window对象,也是frame对象的属?列D?jin)window或者f(xi)rame对象内的各框架?br /> 属?br /> length H口或框架对象内的框架数
B.13 hidden对象
pؓ(f)form对象的一个属?H体内的一个隐藏元?<INPUT TYPE=”HIDDEN?gt;)?br /> 属?br /> name 标记内的名字(NAMEҎ(gu)?
value 标记内的VALUE=Ҏ(gu)?/p>
B.14 history对象
它ؓ(f)window对象的一个属?该窗口的历史列表?br /> 属?br /> length 历史列表中的目?br /> Ҏ(gu)
back 加蝲历史列表中的上一个文?br /> forward 加蝲历史列表中的下一个文?br /> go 加蝲历史列表中的一个指定文?通过文档在列表中的位|来指定
B.15 image对象
它是document对象的一个属?是?1MG)标记内嵌入文档里的一q图像这是Netscape Navigator 3.0 beta 3引入的新对象?br /> 属?br /> border <IMG>标记的BORDERҎ(gu)?br /> complete 表示览器是否完整地加蝲?jin)图像的一个布?yu)(dng)?br /> height HEIGHTҎ(gu)?br /> hspace HSPACEҎ(gu)?br /> lowsrc LOWSRCҎ(gu)?br /> src SRCҎ(gu)?br /> vsPace VSPACEҎ(gu)?br /> width WIDTHҎ(gu)?br /> 事g处理E序
Onload 图象载入
Onerror 载入错误
Onabort 取消
B.16 images数组
它是document对象的一个属?文档中所有图像的列表?br /> 属?br /> length 文档内的囑փ个数
B.17 link
它是document对象的一个属?文档内的一?lt;A HREF=>标记?br /> 属?br /> hash 以散列号(#)开始的一个字W串,用于指定URL内的一个锚?br /> host 包括冒号和端口号的URL的主机名部分
hostname 与host属性相?除了(jin)不包括冒号和端口号外
href 完整的URL
pathname URL的目录\径部?br /> port URL?端口部分
protocol URLcd(http:、ftp:、gopher:{等)
search 以一个问号开始的URL中的一部分,用于指定搜烦(ch)信息
target 当用户单M链接(TARGETҎ(gu)??用于昄被引用文档内容的H口
事g处理E序
Onclick 点击
Onmouseover 鼠标Ud对象?/p>
B.18 links数组
它是document对象的一个属?文档内所有链接的一个列表?br /> 属?br /> length 文档内的链接?/p>
B.19 location对象
它ؓ(f)document对象的一个属?该文档的完整URLQ请不要把它与window.location属性相h,后者可用来加蝲一个新文档,q且window.location属性本wƈ不是一个对象,同时,window.location可以用脚本修?而document.location则不能?br /> 属?br /> hash 以散列号(#)开始的一个字W串,用于指定URL内的一个锚?br /> host 包括冒号和端口号的URL的主机名部分
hostname 与host属性相?除了(jin)不包括冒号和端口号之?br /> href 完整的URL
pathname URL的目录\径部?br /> port URL?端口部分
protocol URL的类?http:、ftp:、gopher:{等)
search 以问??)开始的URL中的一部分,用于指定搜烦(ch)信息
target 用户单击链接(TARGETҎ(gu)??用于昄被引用文档的内容的窗?/p>
B.20 math对象
该对象不是其它对象的一个属?而是一个内|对?包含?jin)许多数学常量和函数?br /> 属?br /> E Ƨ拉帔R,自然Ҏ(gu)的底(U等?.718)
LN2 2的自然对?U等?.693)
LN10 10的自然对?U等?.302)
LOG2E ?为底的e的对?U等?.442)
LOG10E ?0为底的e的对?U等于o.434)
PI ∏的?U等?.14159)
SQRT1_2 0.5的^Ҏ(gu)(即l除以2的^Ҏ(gu),U等于o.707)
SQRT2 2的^Ҏ(gu)(U等?.414)
Ҏ(gu)
abs() q回某数的绝对?卌Co的距?例如,2与一2的绝对值都?)
acos() q回某数的反余u?以弧度ؓ(f)单位)
asin() q回某数的反正u?以弧度ؓ(f)单位)
atan() q回某数的反正切?以弧度ؓ(f)单位)
ceil() q回与某数相{?或大于该数的最整?ceil(-22.22)q回-22;ceil22,22)q回23;ceil(22)q回22)
cos() q回某数(以弧度ؓ(f)单位)的余弦?br /> exp() q回en
floor() 与ceil相反(floor(一22.22)q回一23;floor(22.22)q回22; floor(22)q回22)
10g() q回某数的自然对?以e为底)
max() q回两数间的较大?br /> min() q回两数问的较小?br /> pow() q回m的nơ方(其中,m为底,n为指?
random() q回0?之间的一个伪随机?该方法仅在Netscape
Navigator的UNIX版本中有?
round() q回某数四舍五入之后的整?br /> sin() q回某数(以弧度ؓ(f)单位)的正弦?br /> sqrt() q回某数的^Ҏ(gu)
tan() q回某数的正切?/p>
B.2l navigator对象
该对象不是其它对象的属?而是一个内|对象它包含?jin)有兛_载文档的览器的信息?br /> 属?br /> appCodeName 览器的代码?例如,Mozilla)
appName 览器的名字
appVersion 览器的版本?br /> userAgent 由客h送到服务器的用户与代理头标文?br /> Ҏ(gu)
javaEnabled JavaScript中当前ƈ没有该方?但是不久之后会(x)d上它?yu)查看浏览器是否为兼容JavaScript的浏览器,如果?l箋查看JavaScript是否处于支持状态?/p>
B.22 options数组
该数l是select对象的一个属?即选择框中的所有选项(<OPTION>)的一个列表?br /> 属?br /> defaultSelected 选项列表中的~省选项
index 选项列表中某选项的烦(ch)引位|?br /> length 选项列表中的选项?<OPTIONS>)
name 选项列表的名?NAMEҎ(gu)?
selected 表示选项列表中某选项<OPTION>是否被选中的一个布?yu)(dng)类型?br /> selectedIndex 选项列表中已选中?lt;OPTION>的烦(ch)?位置)
text 选项列表?lt;OPTION>标记后的文本
value 选项列表中的VALUE=Ҏ(gu)?/p>
B.23 Password 对象
它是document对象的一个属?一?lt;INPUT TYPE=”PASSWORD?gt;标记?br /> 属?br /> defaultValue password对象的缺省?VAlUE=Ҏ(gu)?
name 对象的名?NAME=Ҏ(gu)?
value 该域h的当前值最初与VALUE=Ҏ(gu)?defauttValue)相同,但是,如果脚本修改?jin)该域中的?则该值将改变
Ҏ(gu)
focus 把焦点从该域Ud
blur 把焦点移到该?br /> select 选择输入区域
B.24 radio对象
它是form对象的一个属?H体内的一l单选按?选项按钮)(<INPUT TYPE=”RADIO?gt;)?br /> 属?br /> checked 复选框或选项按钮(单选按?的状?br /> defaultChecked 复选框或选项按钮(单选按?的缺省状?br /> length 一l单选按钮中的按钮数
name 对象的名?NAME=Ҏ(gu)?
value VALUE=Ҏ(gu)?br /> Ҏ(gu)
click 模拟鼠标单击按钮
事g处理E序
onclick 点击
B.25 reset 对象
它是form对象的一个属?复位按钮(<INPUT TYPE=”RESET?gt;)?br /> 属?br /> name 对象的名?NAME=Ҏ(gu)?
value VALUE=Ҏ(gu)?br /> Ҏ(gu)
click 模拟鼠标单击按钮
事g处理E序
onclick 点击
B.26 select对象
它是form对象的一个属?选择?<SELECT>)?br /> 属?br /> length 选项列表中的选项?<OPTIONS>)
name 选项列表的名?NAMEҎ(gu)?
options 列表中的选项?br /> selectedlndex 选项列表中已选中?lt;OPTION>的烦(ch)?位置)
text 选项列表?OPTION)标记之后的文?br /> value 选项列表中的VALUE=Ҏ(gu)?br /> Ҏ(gu)
blur 把焦点从选项列表中移?br /> focus 把焦点移到选项列表?br /> 事g处理E序
Onblur 失去焦点时事?br /> onchange 更改
Onfocus 聚焦事g
B.27 string对象
它不是另一个对象的属?而是一个内|对?即一串字W字W串输入脚本中时必须位于引号内?br /> 属?br /> length 字符串中的字W个?br /> Ҏ(gu)
anchor() 用来把字W串转换到HTML锚点标记?<A NAME=>)
big() 把字W串中的文本变成大字?<BIG>)
blink() 把字W串中的文本变成闪烁字体(<BLINK>)
bold() 把字W串中的文本变成黑字?<B>)
charAt() L字符串中指定位置的一个字W?br /> fixed() 把字W串中的文本变成固定间距字体(<TT>)
fontcolor() 改变字符串中文本的颜?<FONT COLOR=>)
fontsize() 把字W串中的文本变成指定大小(<FONTSIZE=>)
indexOf() 用来搜烦(ch)字符串中的某个特D字W?q返回该字符的烦(ch)引位|?br /> italics() 把字W串中的文本变成斜字?<I>)
lastlndexOf() 与indexof怼,但是向后搜烦(ch)最后一个出现的字符
link() 用来把字W串转换到HTML链接标记?<A HREF=>)
small() 把字W串中的文本变成字?<SMALL>)
strike() 把字W串中的文本变成划掉字体(<STRIKE>)
sub() 把字W串中的文本变成下标(subscript)字体((SUB>)
substring() q回字符串里指定位置间的一部分字符?br /> sup() 把字W串中的文本变成上标(superscript)字体(<SUP>)
toLowerCase() 把字W串中的文本变成写
toUpperCase() 把字W串中的文本变成大写
B.28 submit对象
它是form对象的一个属?H体中的一个提交按?<INPUT TYPE=”SUBMIT?gt;)?br /> 属?br /> name 对象的名?NAME=Ҏ(gu)?
value VALUE=Ҏ(gu)?br /> Ҏ(gu)
click 模拟鼠标单击按钮
事g处理E序
Onclick 点击
B.29 text对象
它是form对象的一个属?宙体中的一个文本域(<INPUT TYPE=”TEXT?gt;)?br /> 属?br /> defaultValue text对象的缺省?VALUE=Ҏ(gu)?
name 该对象的名字(NAME=Ҏ(gu)?
Value 该域h的当前?最初与VALUE=Ҏ(gu)?defaultValue)相同但是,如果脚本修改?jin)该域中的?则该值将改变
Ҏ(gu)
blur 把焦点从文本框移开
focus 把焦点移到文本框
select 选择输入区域
事g处理E序
Onblur 失去焦点事g
Onchange 更改
Onfocus 聚焦事g
Onselect 选取事g
B.30 textarea对象
它是form对象的一个属?宙体中的一个文本区?<TEXTAREA>)?br /> 属?br /> defaultValue textarea对象的缺省?VALUE=Ҏ(gu)?
name 该对象的名字(NAME=Ҏ(gu)?
value 该域h的当前?最初与VALUE=Ҏ(gu)?defaultValue)相同,但是,如果脚本修改?jin)该域中的?则该值将改变?jin)?br /> Ҏ(gu)
blur 把焦点从文本区移开
focus 把焦点移到文本区
select 选择输入区域事g处理E序
事g处理E序
Onblur 失去焦点事g
Onchange 更改
Onfocus 聚焦事g
Onselect 选取事g
B.31 window对象
它是一个顶层对?而不是另一个对象的属性即览器的H口?br /> 属?br /> defaultStatus ~省的状态条消息
document 当前昄的文?该属性本w也是一个对?
frame H口里的一个框?(FRAME>)(该属性本w也是一个对?
frames array 列DH口的框架对象的数组,按照q些对象在文档中出现的顺序列?该属性本w也是一个对?
history H口的历史列?该属性本w也是一个对?
length H口内的框架?br /> location H口所昄文档的完?l对)URL(该属性本w也是一个对?不要把它与如document.locationh,后者是当前昄文档的URL。用户可以改变window.location(用另一个文档取代当前文?,但却不能改变document.location(因ؓ(f)q是当前昄文档的位|?
name H口打开?赋予该窗口的名字
opener 代表使用window.open打开当前H口的脚本所在的H口(q是Netscape Navigator 3.0beta 3所引入的一个新属?
parent 包含当前框架的窗口的同义词。frame和window对象的一个属?br /> self 当前H口或框架的同义?br /> status 状态条中的消息
top 包含当前框架的最层览器窗口的同义?br /> window 当前H口或框架的同义?与self相同
Ҏ(gu)
alert() 打开一个Alert消息?br /> clearTimeout() 用来l止setTimeoutҎ(gu)的工?br /> close() 关闭H口
confirm() 打开一个Confirm消息?用户可以选择OK或Cancel,如果用户单击OK,该方法返回true,单击Cancelq回false
blur() 把焦点从指定H口Ud(q是Netscape Navigator 3.0 beta 3引入的新Ҏ(gu))
focus() 把指定的H口带到前台(另一个新Ҏ(gu))
open() 打开一个新H口
prompt() 打开一个Prompt对话?用户可向该框键入文本,q把键入的文本返回到脚本
setTimeout() {待一D|定的毫秒数时?然后q行指o(h)事g处理E序
事g处理E序
Onload() 面载入时触?br /> Onunload() 面关闭时触?/font>
<body onLoad="javascript:preloader()">
<a href="#" onMouseOver="javascript:document.img01.src='heavyimagefile.jpg'">
<img name="img01" src="justanotherfile.jpg"></a>
</body>
</html>
<SCRIPT language=JavaScript>
<!--
function over(obj, col,idNum) {
changeColor(obj, col);
}
function out(obj,idNum) {
changeColor(obj, "#3B77AB");
}
function changeColor(obj, col) {
obj.filters.blendTrans.apply();
obj.style.backgroundColor= col;
obj.filters.blendTrans.play();
}
//-->
</SCRIPT>
<style>
.login {
width:100px;
height:19px;
background-color:#3B77AB;
filter: blendTrans(duration=0.5);
}
</style>
<div class="login" onMouseOver="over(this, '#EFF8E2',2)" onMouseOut="out(this,2)" >
AAAAAAAAA
AAAAAAAAA
AAAAAAAAA
</div>
效果Q鼠标移动到对象上察看)(j)Q?