📄 vnumpad.js
字号:
}
var kb = exists ? ct.childNodes[0] : document.createElement("DIV");
if(!exists)
{
ct.appendChild(kb);
ct.style.display = "block";
ct.style.zIndex = 999;
if(do_embed)
ct.style.position = "relative";
else
{
ct.style.position = "absolute";
// Many thanks to Peter-Paul Koch (www.quirksmode.org) for the find-pos-X/find-pos-Y code.
var initX = 0, ct_ = ct;
if(ct_.offsetParent)
{
while(ct_.offsetParent)
{
initX += ct_.offsetLeft;
ct_ = ct_.offsetParent;
}
}
else if(ct_.x)
initX += ct_.x;
var initY = 0; ct_ = ct;
if(ct_.offsetParent)
{
while(ct_.offsetParent)
{
initY += ct_.offsetTop;
ct_ = ct_.offsetParent;
}
}
else if(ct_.y)
initY += ct_.y;
ct.style.top = initY + "px", ct.style.left = initX +"px";
}
kb.style.position = "relative";
kb.style.top = "0px", kb.style.left = "0px";
}
kb.style.border = "1px solid " + bc;
var kb_main = exists ? kb.childNodes[0] : document.createElement("DIV"), ks = kb_main.style;
if(!exists)
{
kb.appendChild(kb_main);
ks.position = "relative";
ks.width = "1px";
ks.cursor = "default";
}
// Disable content selection:
this._setup_event(kb_main, "selectstart", function(event) { return false; });
this._setup_event(kb_main, "mousedown", function(event) { if(event.preventDefault) event.preventDefault(); return false; });
ks.fontFamily = ff, ks.backgroundColor = bg;
if(!exists || changed)
{
ks.width = this._create_numpad(container_id, kb_main);
ks.height = (this._findY(this.LastKey) + this._findH(this.LastKey) + this.gap) + "px";
}
return this;
},
_create_numpad: function(container_id, parent)
{
var c = "center", n = "normal", l = "left", gap = this.gap;
var fs = this.fontsize, kc = this.keycolor, bc = this.bordercolor;
var mag = parseFloat(fs) / 14.0, cell = Math.floor(25.0 * mag);
var dcell = 2 * cell, dp = (dcell + 1) + "px", dp2 = (dcell - 1 - ((gap < 0) ? 2 : 0)) + "px";
var cp = String(cell) + "px", lh = String(Math.floor(cell - 2.0)) + "px";
var edge = gap + "px";
var kb_pad_eur = this._setup_key(parent, "___pad_eur", gap + "px", edge, cp, cp, bc, kc, c, lh, fs);
kb_pad_eur.innerHTML = "€";
var edge_1 = (this._findX(kb_pad_eur) + this._findW(kb_pad_eur) + gap) + "px";
var kb_pad_slash = this._setup_key(parent, "___pad_slash", gap + "px", edge_1, cp, cp, bc, kc, c, lh, fs);
kb_pad_slash.innerHTML = "/";
var edge_2 = (this._findX(kb_pad_slash) + this._findW(kb_pad_slash) + gap) + "px";
var kb_pad_star = this._setup_key(parent, "___pad_star", gap + "px", edge_2, cp, cp, bc, kc, c, lh, fs);
kb_pad_star.innerHTML = "*";
var edge_3 = (this._findX(kb_pad_star) + this._findW(kb_pad_star) + gap) + "px";
var kb_pad_minus = this._setup_key(parent, "___pad_minus", gap + "px", edge_3, cp, cp, bc, kc, c, lh, fs);
kb_pad_minus.innerHTML = "-";
this.kbpM = this._findX(kb_pad_minus) + this._findW(kb_pad_minus) + gap;
var prevH = this._findH(kb_pad_eur), edge_Y = (this._findY(kb_pad_eur) + prevH + gap) + "px";
var kb_pad_7 = this._setup_key(parent, "___pad_7", edge_Y, edge, cp, cp, bc, kc, c, lh, fs);
kb_pad_7.innerHTML = "7";
var kb_pad_8 = this._setup_key(parent, "___pad_8", edge_Y, edge_1, cp, cp, bc, kc, c, lh, fs);
kb_pad_8.innerHTML = "8";
var kb_pad_9 = this._setup_key(parent, "___pad_9", edge_Y, edge_2, cp, cp, bc, kc, c, lh, fs);
kb_pad_9.innerHTML = "9";
var kb_pad_plus = this._setup_key(parent, "___pad_plus", edge_Y, edge_3, cp, dp, bc, kc, c, dp2, fs);
kb_pad_plus.innerHTML = "+";
edge_Y = (this._findY(kb_pad_7) + prevH + gap) + "px";
var kb_pad_4 = this._setup_key(parent, "___pad_4", edge_Y, edge, cp, cp, bc, kc, c, lh, fs);
kb_pad_4.innerHTML = "4";
var kb_pad_5 = this._setup_key(parent, "___pad_5", edge_Y, edge_1, cp, cp, bc, kc, c, lh, fs);
kb_pad_5.innerHTML = "5";
var kb_pad_6 = this._setup_key(parent, "___pad_6", edge_Y, edge_2, cp, cp, bc, kc, c, lh, fs);
kb_pad_6.innerHTML = "6";
edge_Y = (this._findY(kb_pad_4) + prevH + gap) + "px";
var kb_pad_1 = this._setup_key(parent, "___pad_1", edge_Y, edge, cp, cp, bc, kc, c, lh, fs);
kb_pad_1.innerHTML = "1";
var kb_pad_2 = this._setup_key(parent, "___pad_2", edge_Y, edge_1, cp, cp, bc, kc, c, lh, fs);
kb_pad_2.innerHTML = "2";
var kb_pad_3 = this._setup_key(parent, "___pad_3", edge_Y, edge_2, cp, cp, bc, kc, c, lh, fs);
kb_pad_3.innerHTML = "3";
var kb_pad_enter = this._setup_key(parent, "___pad_enter", edge_Y, edge_3, cp, dp, bc, kc, c, dp2, parseFloat(fs) * 0.643, n);
kb_pad_enter.innerHTML = "Enter";
edge_Y = (this._findY(kb_pad_1) + prevH + gap) + "px";
var kb_pad_0 = this._setup_key(parent, "___pad_0", edge_Y, edge, dp, cp, bc, kc, l, lh, fs, "", 7 * mag + "px");
kb_pad_0.innerHTML = "0";
var kb_pad_period = this._setup_key(parent, "___pad_period", edge_Y, edge_2, cp, cp, bc, kc, c, lh, fs);
kb_pad_period.innerHTML = ".";
this.LastKey = kb_pad_period;
return String(this._findX(kb_pad_minus) + this._findW(kb_pad_minus) + gap) + "px";
},
_generic_callback_proc: function(event)
{
var e = event || window.event;
var in_el = e.srcElement || e.target;
var container_id = in_el.id.substring(0, in_el.id.indexOf("___"));
var vpad = VNumpad.kbArray[container_id];
if(vpad.sc) vpad._start_flash(in_el);
if(vpad._Callback) vpad._Callback(in_el.innerHTML, vpad.Cntr.id);
},
SetParameters: function()
{
var l = arguments.length;
if(!l || (l % 2 != 0)) return false;
var p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10;
while(--l > 0)
{
var value = arguments[l];
switch(arguments[l - 1])
{
case "callback":
p0 = ((typeof(value) == "function") && ((value.length == 1) || (value.length == 2))) ? value : this._Callback;
break;
case "font-name": p1 = value; break;
case "font-size": p2 = value; break;
case "font-color": p3 = value; break;
case "base-color": p4 = value; break;
case "key-color": p5 = value; break;
case "border-color": p6 = value; break;
case "show-click": p7 = value; break;
case "click-font-color": p8 = value; break;
case "click-key-color": p9 = value; break;
case "click-border-color": p10 = value; break;
default: break;
}
l -= 1;
}
this._construct(this.Cntr.id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
return true;
},
Show: function(value)
{
var ct = this.Cntr.style;
ct.display = ((value == undefined) || (value == true)) ? "block" : ((value == false) ? "none" : ct.display);
}
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -