?? window.js
字號:
if (browser.isIE) {
x = window.event.x;
y = window.event.y;
}
if (browser.isNS) {
x = event.pageX;
y = event.pageY;
}
winCtrl.xOffset = winCtrl.active.frame.offsetLeft - x;
winCtrl.yOffset = winCtrl.active.frame.offsetTop - y;
// Set document to capture mousemove and mouseup events.
if (browser.isIE) {
document.onmousemove = winMoveDragGo;
document.onmouseup = winMoveDragStop;
}
if (browser.isNS) {
document.addEventListener("mousemove", winMoveDragGo, true);
document.addEventListener("mouseup", winMoveDragStop, true);
event.preventDefault();
}
winCtrl.inMoveDrag = true;
}
function winMoveDragGo(event) {
var x, y;
if (!winCtrl.inMoveDrag)
return;
// Get cursor position.
if (browser.isIE) {
x = window.event.x;
y = window.event.y;
window.event.cancelBubble = true;
window.event.returnValue = false;
}
if (browser.isNS) {
x = event.pageX;
y = event.pageY;
event.preventDefault();
}
// Move window frame based on offset from cursor.
winCtrl.active.frame.style.left = (x + winCtrl.xOffset) + "px";
winCtrl.active.frame.style.top = (y + winCtrl.yOffset) + "px";
}
function winMoveDragStop(event) {
winCtrl.inMoveDrag = false;
// Remove mousemove and mouseup event captures on document.
if (browser.isIE) {
document.onmousemove = null;
document.onmouseup = null;
}
if (browser.isNS) {
document.removeEventListener("mousemove", winMoveDragGo, true);
document.removeEventListener("mouseup", winMoveDragStop, true);
}
}
//-----------------------------------------------------------------------------
// Window resizing.
//-----------------------------------------------------------------------------
function winResizeCursorSet(event) {
var target;
var xOff, yOff;
if (this.parentWindow.isMinimized || winCtrl.inResizeDrag)
return;
// If not on window frame, restore cursor and exit.
if (browser.isIE)
target = window.event.srcElement;
if (browser.isNS)
target = event.target;
if (target != this.parentWindow.frame)
return;
// Find resize direction.
if (browser.isIE) {
xOff = window.event.offsetX;
yOff = window.event.offsetY;
}
if (browser.isNS) {
xOff = event.layerX;
yOff = event.layerY;
}
winCtrl.resizeDirection = ""
if (yOff <= winCtrl.resizeCornerSize)
winCtrl.resizeDirection += "n";
else if (yOff >= this.parentWindow.frame.offsetHeight - winCtrl.resizeCornerSize)
winCtrl.resizeDirection += "s";
if (xOff <= winCtrl.resizeCornerSize)
winCtrl.resizeDirection += "w";
else if (xOff >= this.parentWindow.frame.offsetWidth - winCtrl.resizeCornerSize)
winCtrl.resizeDirection += "e";
// If not on window edge, restore cursor and exit.
if (winCtrl.resizeDirection == "") {
this.onmouseout(event);
return;
}
// Change cursor.
if (browser.isIE)
document.body.style.cursor = winCtrl.resizeDirection + "-resize";
if (browser.isNS)
this.parentWindow.frame.style.cursor = winCtrl.resizeDirection + "-resize";
}
function winResizeCursorRestore(event) {
if (winCtrl.inResizeDrag)
return;
// Restore cursor.
if (browser.isIE)
document.body.style.cursor = "";
if (browser.isNS)
this.parentWindow.frame.style.cursor = "";
}
function winResizeDragStart(event) {
var target;
// Make sure the event is on the window frame.
if (browser.isIE)
target = window.event.srcElement;
if (browser.isNS)
target = event.target;
if (target != this.parentWindow.frame)
return;
this.parentWindow.makeActive();
if (this.parentWindow.isMinimized)
return;
// Save cursor position.
if (browser.isIE) {
winCtrl.xPosition = window.event.x;
winCtrl.yPosition = window.event.y;
}
if (browser.isNS) {
winCtrl.xPosition = event.pageX;
winCtrl.yPosition = event.pageY;
}
// Save window frame position and current window size.
winCtrl.oldLeft = parseInt(this.parentWindow.frame.style.left, 10);
winCtrl.oldTop = parseInt(this.parentWindow.frame.style.top, 10);
winCtrl.oldWidth = parseInt(this.parentWindow.frame.style.width, 10);
winCtrl.oldHeight = parseInt(this.parentWindow.clientArea.style.height, 10);
// Set document to capture mousemove and mouseup events.
if (browser.isIE) {
document.onmousemove = winResizeDragGo;
document.onmouseup = winResizeDragStop;
}
if (browser.isNS) {
document.addEventListener("mousemove", winResizeDragGo, true);
document.addEventListener("mouseup" , winResizeDragStop, true);
event.preventDefault();
}
winCtrl.inResizeDrag = true;
}
function winResizeDragGo(event) {
var north, south, east, west;
var dx, dy;
var w, h;
if (!winCtrl.inResizeDrag)
return;
// Set direction flags based on original resize direction.
north = false;
south = false;
east = false;
west = false;
if (winCtrl.resizeDirection.charAt(0) == "n")
north = true;
if (winCtrl.resizeDirection.charAt(0) == "s")
south = true;
if (winCtrl.resizeDirection.charAt(0) == "e" || winCtrl.resizeDirection.charAt(1) == "e")
east = true;
if (winCtrl.resizeDirection.charAt(0) == "w" || winCtrl.resizeDirection.charAt(1) == "w")
west = true;
// Find change in cursor position.
if (browser.isIE) {
dx = window.event.x - winCtrl.xPosition;
dy = window.event.y - winCtrl.yPosition;
}
if (browser.isNS) {
dx = event.pageX - winCtrl.xPosition;
dy = event.pageY - winCtrl.yPosition;
}
// If resizing north or west, reverse corresponding amount.
if (west)
dx = -dx;
if (north)
dy = -dy;
// Check new size.
w = winCtrl.oldWidth + dx;
h = winCtrl.oldHeight + dy;
if (w <= winCtrl.active.minimumWidth) {
w = winCtrl.active.minimumWidth;
dx = w - winCtrl.oldWidth;
}
if (h <= winCtrl.active.minimumHeight) {
h = winCtrl.active.minimumHeight;
dy = h - winCtrl.oldHeight;
}
// Resize the window. For IE, keep client area and frame widths in synch.
if (east || west) {
winCtrl.active.frame.style.width = w + "px";
if (browser.isIE)
winCtrl.active.clientArea.style.width = (w - winCtrl.active.widthDiff) + "px";
}
if (north || south)
winCtrl.active.clientArea.style.height = h + "px";
// Clip the title bar text, if necessary.
if (east || west) {
if (w < winCtrl.active.clipTextMinimumWidth)
winCtrl.active.titleBarText.style.width = (winCtrl.minimizedTextWidth + w - winCtrl.active.minimumWidth) + "px";
else
winCtrl.active.titleBarText.style.width = "";
}
// For a north or west resize, move the window.
if (west)
winCtrl.active.frame.style.left = (winCtrl.oldLeft - dx) + "px";
if (north)
winCtrl.active.frame.style.top = (winCtrl.oldTop - dy) + "px";
if (browser.isIE) {
window.event.cancelBubble = true;
window.event.returnValue = false;
}
if (browser.isNS)
event.preventDefault();
}
function winResizeDragStop(event) {
winCtrl.inResizeDrag = false;
// Remove mousemove and mouseup event captures on document.
if (browser.isIE) {
document.onmousemove = null;
document.onmouseup = null;
}
if (browser.isNS) {
document.removeEventListener("mousemove", winResizeDragGo, true);
document.removeEventListener("mouseup" , winResizeDragStop, true);
}
}
//=============================================================================
// Utility functions.
//=============================================================================
function winFindByClassName(el, className) {
var i, tmp;
if (el.className == className)
return el;
// Search for a descendant element assigned the given class.
for (i = 0; i < el.childNodes.length; i++) {
tmp = winFindByClassName(el.childNodes[i], className);
if (tmp != null)
return tmp;
}
return null;
}
//=============================================================================
// Initialization code.
//=============================================================================
var winCtrl = new Object();
winCtrl.maxzIndex = 0;
winCtrl.resizeCornerSize = 16;
winCtrl.minimizedTextWidth = 100;
winCtrl.inactiveFrameBackgroundColor = "#c0c0c0";
winCtrl.inactiveFrameBorderColor = "#f0f0f0 #505050 #404040 #e0e0e0";
winCtrl.inactiveTitleBarColor = "#808080";
winCtrl.inactiveTitleTextColor = "#c0c0c0";
winCtrl.inactiveClientAreaBorderColor = "#404040 #e0e0e0 #f0f0f0 #505050";
winCtrl.inactiveClientAreaScrollbarColor = "";
winCtrl.inMoveDrag = false;
winCtrl.inResizeDrag = false;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -