📄 19-1.js
字号:
//**载入CSS*****
var xWinCssFilePath="..\/inc\/css\/19-1.css";
document.write("<style>@import url("+xWinCssFilePath+");</style>");
//**检测浏览器种类*****
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__={ // ver 1.2 by Hutia, 04/03/06
events:new Array(),
objs:new Array(),
intervals:new Array(),
handle:null,
times:0,
_interval:20,
exec:function(){
__xSeriaTimer__.times++;
for(var i=0;i<__xSeriaTimer__.events.length;i++){
try{
if(__xSeriaTimer__.times % __xSeriaTimer__.intervals[i] == 0){
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,interval){
interval=parseInt(interval);
interval=(isNaN(interval)||interval<1)?1:interval;
interval=parseInt(interval/__xSeriaTimer__._interval);
interval=(interval<1)?1:interval;
for(var i=0;i<__xSeriaTimer__.events.length;i++){
if(__xSeriaTimer__.events[i]==null){
__xSeriaTimer__.events[i]=strV;
__xSeriaTimer__.objs[i]=obj;
__xSeriaTimer__.intervals[i]=interval;
return(i);
}
}
__xSeriaTimer__.events[i]=strV;
__xSeriaTimer__.objs[i]=obj;
__xSeriaTimer__.intervals[i]=interval;
return(i);
},
start:function(){
__xSeriaTimer__.stop();
__xSeriaTimer__.handle=setInterval(__xSeriaTimer__.exec,__xSeriaTimer__._interval);
},
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.match(/^((xWin)|(.+ +xWin)|(xWin +.+)|(.+ +xWin +.+))$/))_xWin_event_doInit(allTheWindows[i]);
}
}
//**事件响应函数区******
function _xWin_event_doInit(element){
//初始化变量
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.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;
//设置方法
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;
//设置事件
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";
//设置窗口变量
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"));
//设置窗口标题
element.oTitle=element.ownerDocument.createElement("div");
element.oTitle.xwin=element;
element.oTitle.className="xTitle";
element.appendChild(element.oTitle);
//设置窗口标题内容
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);
//设置窗口标题关闭按钮
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;
//设置窗口标题最大化按钮
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;
//设置窗口标题最小化按钮
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;
//设置窗口内容
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;
}
//设置窗口阴影
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;
//设置窗口样式
with(element.style){
zIndex=z;
backgroundColor=element.normal;
color=element.normal;
}
}
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){//将窗口放到最前
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"){//如果开始拖动
//锁定标题栏;
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"){//开始改变大小
//锁定标题栏;
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){//拖动窗口
this.MoveTo(this.x1 + e.clientX - this.x0, this.y1 + e.clientY - this.y0);
return(true);
}
if(this.resizable){//改变窗口大小
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;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -