prompt.js
来自「用php编写的一个BBS 小程序」· JavaScript 代码 · 共 84 行
JS
84 行
/**
* prompt.js
* 08.08.2007
* vitrification prompt
*/
var startX = 0;
var startY = 0;
var startLeft = 0;
var startTop = 0;
var canSnap = false;
function hintOnMouse(obj, sx, sy) {
if (!window.document.all || canDrag) return;
obj.setCapture();
startLeft = sx;
startTop = sy;
startX = window.event.clientX;
startY = window.event.clientY;
canSnap = true;
}
function hintMoveLayer(objId) {
if (canSnap) {
var obj = window.document.getElementById(objId);
obj.style.pixelLeft = startLeft + window.event.clientX - startX;
var eY = window.event.clientY;
if (eY + window.document.body.scrollTop < 0) {
obj.style.pixelTop = -obj.parentNode.style.top.substr(0, obj.parentNode.style.top.length-2);
} else {
obj.style.pixelTop = startTop + eY - startY;
}
}
}
function hintOutMouse(obj) {
obj.releaseCapture();
canSnap = false;
}
var sPop = null;
function showpopuptext() {
var obj = window.event.srcElement;
if (obj.id == "popLayer") {
obj.style.visibility = "hidden";
return;
}
if (obj.alt != null && obj.alt != "") {
obj.pop = obj.alt;
obj.alt = "";
}
if (obj.title != null && obj.title != "") {
obj.pop = obj.title;
obj.title = "";
}
if (obj.pop != sPop) {
sPop = obj.pop;
var pObj = window.document.getElementById("popLayer");
if (sPop == null || sPop == "") {
pObj.style.visibility = "hidden";
} else {
var sLen = strLength(sPop);//extern function
pObj.style.width = (sLen < 7 ? "50" : Math.floor(sLen*(sLen>14?(sLen>30?6:7):7.3))) + "px";
var ofstX = 2;
var ofstY = 19;
pObj.style.visibility = "visible";
pObj.innerHTML = sPop.replace(/</g, "<").replace(/>/g, ">").replace(/\"/g, """).replace(/ /g, " ").replace(/\r\n/g, "<br />").replace(/\n/g, "<br />").replace(/\'/g, "'").replace(/\\/g, "\");
var cWidth = window.document.body.clientWidth + window.document.body.scrollLeft;
var tabWidth = parseInt(pObj.style.width.substr(0, pObj.style.width.length-2), 10);
var sx = 0, sy = 0;
pObj.style.left = sx = window.event.clientX + window.document.body.scrollLeft - ofstX + tabWidth > cWidth ? cWidth - tabWidth : window.event.clientX + window.document.body.scrollLeft - ofstX;
pObj.style.top = sy = window.event.clientY + window.document.body.scrollTop + ofstY;
var oOMOStr = obj.onmouseout + "";
if (oOMOStr.indexOf("hintOutMouse(this)") == -1) {
obj.setAttribute("onmouseout", new Function("hintOutMouse(this);"+oOMOStr.substr(23,oOMOStr.length-25)));
}
var oOMMStr = obj.onmousemove + "";
if (oOMMStr.indexOf("hintMoveLayer('popLayer')") == -1) {
obj.setAttribute("onmousemove", new Function("hintMoveLayer('popLayer');"+oOMMStr.substr(23,oOMMStr.length-25)));
}
hintOnMouse(obj, sx, sy);
}
}
}
window.document.onmouseover = showpopuptext;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?