JS实现软键盘的效果源代码(经典)

  • Post author:
  • Post category:其他


JS实现软键盘的效果源代码(经典)

见过很多网站在输入密码的时候使用的软键盘吗?你想在自己的网站上也有这样的功能吗?下面就是源代码!

//定义当前是否大写的状态

//<input name=”UserPassword” type=”Password” size=”15″ maxlength=”15″ onMouseOut=”this.style.background=”” onMouseOver=”this.style.background=’#F9F9F9′” onFocus=”this.select();” readOnly onKeyDown=”Calc.password.value=this.value” onChange=”Calc.password.value=this.value” οnclick= “password1=this;showkeyboard();this.readOnly=1;Calc.password.value=””>

window.οnlοad=

function()

{


password1=null;

initCalc();

}

var CapsLockValue=0;

var check;

function setVariables() {


tablewidth=630;  // logo width, in pixels

tableheight=20;  // logo height, in pixels

if (navigator.appName == “Netscape”) {


horz=”.left”;

vert=”.top”;

docStyle=”document.”;

styleDoc=””;

innerW=”window.innerWidth”;

innerH=”window.innerHeight”;

offsetX=”window.pageXOffset”;

offsetY=”window.pageYOffset”;

}

else {


horz=”.pixelLeft”;

vert=”.pixelTop”;

docStyle=””;

styleDoc=”.style”;

innerW=”document.body.clientWidth”;

innerH=”document.body.clientHeight”;

offsetX=”document.body.scrollLeft”;

offsetY=”document.body.scrollTop”;

}

}

function checkLocation() {


if (check) {


objectXY=”softkeyboard”;

var availableX=eval(innerW);

var availableY=eval(innerH);

var currentX=eval(offsetX);

var currentY=eval(offsetY);

x=availableX-tablewidth+currentX;

//y=availableY-tableheight+currentY;

y=currentY;

evalMove();

}

setTimeout(“checkLocation()”,0);

}

function evalMove() {


//eval(docStyle + objectXY + styleDoc + horz + “=” + x);

eval(docStyle + objectXY + styleDoc + vert + “=” + y);

}

self.onError=null;

currentX = currentY = 0;

whichIt = null;

lastScrollX = 0; lastScrollY = 0;

NS = (document.layers) ? 1 : 0;

IE = (document.all) ? 1: 0;

function heartBeat() {


if(IE) { diffY = document.body.scrollTop; diffX = document.body.scrollLeft; }

if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; }

if(diffY != lastScrollY) {


percent = .1 * (diffY – lastScrollY);

if(percent > 0) percent = Math.ceil(percent);

else percent = Math.floor(percent);

if(IE) document.all.softkeyboard.style.pixelTop += percent;

if(NS) document.softkeyboard.top += percent;

lastScrollY = lastScrollY + percent;}

if(diffX != lastScrollX) {


percent = .1 * (diffX – lastScrollX);

if(percent > 0) percent = Math.ceil(percent);

else percent = Math.floor(percent);

if(IE) document.all.softkeyboard.style.pixelLeft += percent;

if(NS) document.softkeyboard.left += percent;

lastScrollX = lastScrollX + percent; }  }

function checkFocus(x,y) {

stalkerx = document.softkeyboard.pageX;

stalkery = document.softkeyboard.pageY;

stalkerwidth = document.softkeyboard.clip.width;

stalkerheight = document.softkeyboard.clip.height;

if( (x > stalkerx && x < (stalkerx+stalkerwidth)) && (y > stalkery && y < (stalkery+stalkerheight))) return true;

else return false;}

function grabIt(e) {


check = false;

if(IE) {


whichIt = event.srcElement;

while (whichIt.id.indexOf(“softkeyboard”) == -1) {


whichIt = whichIt.parentElement;

if (whichIt == null) { return true; } }

whichIt.style.pixelLeft = whichIt.offsetLeft;

whichIt.style.pixelTop = whichIt.offsetTop;

currentX = (event.clientX + document.body.scrollLeft);

currentY = (event.clientY + document.body.scrollTop);

} else {

window.captureEvents(Event.MOUSEMOVE);

if(checkFocus (e.pageX,e.pageY)) {

whichIt = docu



版权声明:本文为osion原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。