softkeyboard.js
上传用户:btntkt
上传日期:2021-04-16
资源大小:5296k
文件大小:16k
源码类别:

WEB源码(ASP,PHP,...)

开发平台:

DOS

  1. //定义当前是否大写的状态
  2. window.onload=
  3. function()
  4. {
  5. password1=null;
  6. initCalc();
  7. }
  8. var CapsLockValue=0;
  9. var check;
  10. function setVariables() {
  11. tablewidth=630;  // logo width, in pixels
  12. tableheight=20;  // logo height, in pixels
  13. if (navigator.appName == "Netscape") {
  14. horz=".left";
  15. vert=".top";
  16. docStyle="document.";
  17. styleDoc="";
  18. innerW="window.innerWidth";
  19. innerH="window.innerHeight";
  20. offsetX="window.pageXOffset";
  21. offsetY="window.pageYOffset";
  22. }
  23. else {
  24. horz=".pixelLeft";
  25. vert=".pixelTop";
  26. docStyle="";
  27. styleDoc=".style";
  28. innerW="document.body.clientWidth";
  29. innerH="document.body.clientHeight";
  30. offsetX="document.body.scrollLeft";
  31. offsetY="document.body.scrollTop";
  32.    }
  33. }
  34. function checkLocation() {
  35. if (check) {
  36. objectXY="softkeyboard";
  37. var availableX=eval(innerW);
  38. var availableY=eval(innerH);
  39. var currentX=eval(offsetX);
  40. var currentY=eval(offsetY);
  41. x=availableX-tablewidth+currentX;
  42. //y=availableY-tableheight+currentY;
  43. y=currentY;
  44. evalMove();
  45. }
  46. setTimeout("checkLocation()",0);
  47. }
  48. function evalMove() {
  49. //eval(docStyle + objectXY + styleDoc + horz + "=" + x);
  50. eval(docStyle + objectXY + styleDoc + vert + "=" + y);
  51. }
  52. self.onError=null;
  53. currentX = currentY = 0;  
  54. whichIt = null;           
  55. lastScrollX = 0; lastScrollY = 0;
  56. NS = (document.layers) ? 1 : 0;
  57. IE = (document.all) ? 1: 0;
  58. function heartBeat() {
  59. if(IE) { diffY = document.body.scrollTop; diffX = document.body.scrollLeft; }
  60.     if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; }
  61. if(diffY != lastScrollY) {
  62.                 percent = .1 * (diffY - lastScrollY);
  63.                 if(percent > 0) percent = Math.ceil(percent);
  64.                 else percent = Math.floor(percent);
  65. if(IE) document.all.softkeyboard.style.pixelTop += percent;
  66. if(NS) document.softkeyboard.top += percent; 
  67.                 lastScrollY = lastScrollY + percent;}
  68. if(diffX != lastScrollX) {
  69. percent = .1 * (diffX - lastScrollX);
  70. if(percent > 0) percent = Math.ceil(percent);
  71. else percent = Math.floor(percent);
  72. if(IE) document.all.softkeyboard.style.pixelLeft += percent;
  73. if(NS) document.softkeyboard.left += percent;
  74. lastScrollX = lastScrollX + percent; } }
  75. function checkFocus(x,y) { 
  76.         stalkerx = document.softkeyboard.pageX;
  77.         stalkery = document.softkeyboard.pageY;
  78.         stalkerwidth = document.softkeyboard.clip.width;
  79.         stalkerheight = document.softkeyboard.clip.height;
  80.         if( (x > stalkerx && x < (stalkerx+stalkerwidth)) && (y > stalkery && y < (stalkery+stalkerheight))) return true;
  81.         else return false;}
  82. function grabIt(e) {
  83.     check = false;
  84. if(IE) {
  85. whichIt = event.srcElement;
  86. while (whichIt.id.indexOf("softkeyboard") == -1) {
  87. whichIt = whichIt.parentElement;
  88. if (whichIt == null) { return true; } }
  89. whichIt.style.pixelLeft = whichIt.offsetLeft;
  90.     whichIt.style.pixelTop = whichIt.offsetTop;
  91. currentX = (event.clientX + document.body.scrollLeft);
  92.     currentY = (event.clientY + document.body.scrollTop); 
  93. } else { 
  94.         window.captureEvents(Event.MOUSEMOVE);
  95.         if(checkFocus (e.pageX,e.pageY)) { 
  96.                 whichIt = document.softkeyboard;
  97.                 StalkerTouchedX = e.pageX-document.softkeyboard.pageX;
  98.                 StalkerTouchedY = e.pageY-document.softkeyboard.pageY;} }
  99.     return true; }
  100. function moveIt(e) {
  101. if (whichIt == null) { return false; }
  102. if(IE) {
  103.     newX = (event.clientX + document.body.scrollLeft);
  104.     newY = (event.clientY + document.body.scrollTop);
  105.     distanceX = (newX - currentX);    distanceY = (newY - currentY);
  106.     currentX = newX;    currentY = newY;
  107.     whichIt.style.pixelLeft += distanceX;
  108.     whichIt.style.pixelTop += distanceY;
  109. if(whichIt.style.pixelTop < document.body.scrollTop) whichIt.style.pixelTop = document.body.scrollTop;
  110. if(whichIt.style.pixelLeft < document.body.scrollLeft) whichIt.style.pixelLeft = document.body.scrollLeft;
  111. if(whichIt.style.pixelLeft > document.body.offsetWidth - document.body.scrollLeft - whichIt.style.pixelWidth - 20) whichIt.style.pixelLeft = document.body.offsetWidth - whichIt.style.pixelWidth - 20;
  112. if(whichIt.style.pixelTop > document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5) whichIt.style.pixelTop = document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5;
  113. event.returnValue = false;
  114. } else { 
  115. whichIt.moveTo(e.pageX-StalkerTouchedX,e.pageY-StalkerTouchedY);
  116.         if(whichIt.left < 0+self.pageXOffset) whichIt.left = 0+self.pageXOffset;
  117.         if(whichIt.top < 0+self.pageYOffset) whichIt.top = 0+self.pageYOffset;
  118.         if( (whichIt.left + whichIt.clip.width) >= (window.innerWidth+self.pageXOffset-17)) whichIt.left = ((window.innerWidth+self.pageXOffset)-whichIt.clip.width)-17;
  119.         if( (whichIt.top + whichIt.clip.height) >= (window.innerHeight+self.pageYOffset-17)) whichIt.top = ((window.innerHeight+self.pageYOffset)-whichIt.clip.height)-17;
  120.         return false;}
  121.     return false; }
  122. function dropIt() {whichIt = null;
  123.     if(NS) window.releaseEvents (Event.MOUSEMOVE);
  124.     return true; }
  125. if(NS) {window.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN);
  126. window.onmousedown = grabIt;
  127.   window.onmousemove = moveIt;
  128. window.onmouseup = dropIt; }
  129. if(IE) {
  130. document.onmousedown = grabIt;
  131.   document.onmousemove = moveIt;
  132. document.onmouseup = dropIt; }
  133. // if(NS || IE) action = window.setInterval("heartBeat()",1);
  134. document.write("<DIV align=center id="softkeyboard" name="softkeyboard" style="position:absolute; left:0px; top:0px; width:500px; z-index:180;display:none">  <table id="CalcTable" width="" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="">           <FORM id=Calc name=Calc action="" method=post autocomplete="off">       <tr> <td title="为了保证后台登陆安全,建议使用密码输入器输入密码!" align="right" valign="middle" bgcolor="" style="cursor: default;height:30"> <INPUT type=hidden value="" name=password>  <INPUT type=hidden value=ok name=action2>&nbsp<font style="font-size:13px;">网软天下网上购物系统时尚版V2030 </font>&nbsp;&nbsp;密码输入器&nbsp&nbsp&nbsp&nbsp&nbsp;&nbsp;&nbsp&nbsp;&nbsp;&nbsp&nbsp;&nbsp;&nbsp&nbsp;&nbsp;&nbsp&nbsp;&nbsp;&nbsp&nbsp;&nbsp&nbsp;<INPUT style="width:100px;height:20px;background-color:#54BAF1;" type=button value="使用键盘输入" bgtype="1" onclick="password1.readOnly=0;password1.focus();softkeyboard.style.display='none';password1.value='';"><span style="width:2px;"></span></td>      </tr>      <tr align="center">         <td align="center" bgcolor="#FFFFFF"> <table align="center" width="%" border="0" cellspacing="1" cellpadding="0">n          <tr align="left" valign="middle"> n            <td> <input type=button value=" ~ "></td>n            <td> <input type=button value=" ! "></td>n            <td> <input type=button  value=" @ "></td>n            <td> <input type=button value=" # "></td>n            <td> <input type=button value=" $ "></td>n            <td> <input type=button value=" % "></td>n            <td> <input type=button value=" ^ "></td>n            <td> <input type=button value=" & "></td>n            <td> <input type=button value=" * "></td>n            <td> <input type=button value=" ( "></td>n            <td> <input type=button value=" ) "></td>n            <td> <input type=button value=" _ "></td>n            <td> <input type=button value=" + "></td>n            <td> <input type=button value=" | "></td>n            <td colspan="1" rowspan="2"> <input name="button10" type=button value=" 退格" onclick="setpassvalue();"  onDblClick="setpassvalue();" style="width:100px;height:42px"> n            </td>n          </tr>n          <tr align="left" valign="middle"> n            <td> <input type=button value=" ` "></td>n            <td> <input type=button value=" 1 "></td>n            <td> <input type=button value=" 2 "></td>n            <td> <input type=button value=" 3 "></td>n            <td> <input type=button value=" 4 "></td>n            <td> <input type=button value=" 5 "></td>n            <td> <input type=button value=" 6 "></td>n            <td> <input type=button value=" 7 "></td>n            <td> <input type=button value=" 8 "></td>n            <td> <input type=button value=" 9 "></td>n            <td> <input name="button6" type=button value=" 0 "></td>n            <td> <input type=button value=" - "></td>n            <td> <input type=button value=" = "></td>n            <td> <input type=button value=" \ "></td>n            <td> </td>n          </tr>n          <tr align="left" valign="middle"> n            <td> <input type=button value=" q "></td>n            <td> <input type=button value=" w "></td>n            <td> <input type=button value=" e "></td>n            <td> <input type=button value=" r "></td>n            <td> <input type=button value=" t "></td>n            <td> <input type=button value=" y "></td>n            <td> <input type=button value=" u "></td>n            <td> <input type=button value=" i "></td>n            <td> <input type=button value=" o "></td>n            <td> <input name="button8" type=button value=" p "></td>n            <td> <input name="button9" type=button value=" { "></td>n            <td> <input type=button value=" } "></td>n            <td> <input type=button value=" [ "></td>n            <td> <input type=button value=" ] "></td>n            <td><input name="button9" type=button onClick="capsLockText();setCapsLock();"  onDblClick="capsLockText();setCapsLock();" value="切换大/小写" style="width:100px;"></td>n          </tr>n          <tr align="left" valign="middle"> n            <td> <input type=button value=" a "></td>n            <td> <input type=button value=" s "></td>n            <td> <input type=button value=" d "></td>n            <td> <input type=button value=" f "></td>n            <td> <input type=button value=" g "></td>n            <td> <input type=button value=" h "></td>n            <td> <input type=button value=" j "></td>n            <td> <input name="button3" type=button value=" k "></td>n            <td> <input name="button4" type=button value=" l "></td>n            <td> <input name="button5" type=button value=" : "></td>n            <td> <input name="button7" type=button value=" &quot; "></td>n            <td> <input type=button value=" ; "></td>n            <td> <input type=button value=" ' "></td>n            <td rowspan="2" colspan="2"> <input name="button12" type=button onclick="OverInput();" value="   确定  " style="width:130px;height:42"></td>n          </tr>n          <tr align="left" valign="middle"> n            <td> <input name="button2" type=button value=" z "></td>n            <td> <input type=button value=" x "></td>n            <td> <input type=button value=" c "></td>n            <td> <input type=button value=" v "></td>n            <td> <input type=button value=" b "></td>n            <td> <input type=button value=" n "></td>n            <td> <input type=button value=" m "></td>n            <td> <input type=button value=" &lt; "></td>n            <td> <input type=button value=" &gt; "></td>n            <td> <input type=button value=" ? "></td>n            <td> <input type=button value=" , "></td>n            <td> <input type=button value=" . "></td>n            <td> <input type=button value=" / "></td>n          </tr>n        </table></td>    </FORM>      </tr>  </table></DIV>")
  135. //给输入的密码框添加新值
  136. function addValue(newValue)
  137. {
  138. if (CapsLockValue==0)
  139. {
  140. var str=Calc.password.value;
  141. if(str.length<password1.maxLength)
  142. {
  143. Calc.password.value += newValue;
  144. }
  145. if(str.length<=password1.maxLength)
  146. {
  147. password1.value=Calc.password.value;
  148. }
  149. }
  150. else
  151. {
  152. var str=Calc.password.value;
  153. if(str.length<password1.maxLength)
  154. {
  155. Calc.password.value += newValue.toUpperCase();
  156. }
  157. if(str.length<=password1.maxLength)
  158. {
  159. password1.value=Calc.password.value;
  160. }
  161. }
  162. }
  163. //实现BackSpace键的功能
  164. function setpassvalue()
  165. {
  166. var longnum=Calc.password.value.length;
  167. var num
  168. num=Calc.password.value.substr(0,longnum-1);
  169. Calc.password.value=num;
  170. var str=Calc.password.value;
  171. password1.value=Calc.password.value;
  172. }
  173. //输入完毕
  174. function OverInput()
  175. {
  176. //m_pass.mempass.value=Calc.password.value;
  177. var str=Calc.password.value;
  178. password1.value=Calc.password.value;
  179. //alert(theForm.value);
  180. //theForm.value=m_pass.mempass.value;
  181. softkeyboard.style.display="none";
  182. Calc.password.value="";
  183. password1.readOnly=1;
  184. //password1.value=Calc.password.value;
  185. }
  186. //关闭软键盘
  187. function closekeyboard(theForm)
  188. {
  189. //eval("var theForm="+theForm+";");
  190. //theForm.value="";
  191. softkeyboard.style.display="none";
  192. //Calc.password.value="";
  193. }
  194. //显示软键盘
  195. function showkeyboard()
  196. {
  197. if(event.y+140)
  198. softkeyboard.style.top=event.y+document.body.scrollTop+15;
  199. if((event.x-250)>0)
  200. {
  201. softkeyboard.style.left=event.x-250;
  202. }
  203. else
  204. {
  205. softkeyboard.style.left=0;
  206. }
  207. softkeyboard.style.display="block";
  208. password1.readOnly=1;
  209. password1.blur();
  210. //password1.value="";
  211. }
  212. //设置是否大写的值
  213. function setCapsLock()
  214. {
  215. if (CapsLockValue==0)
  216. {
  217. CapsLockValue=1
  218. // Calc.showCapsLockValue.value="当前是大写 ";
  219. }
  220. else 
  221. {
  222. CapsLockValue=0
  223. // Calc.showCapsLockValue.value="当前是小写 ";
  224. }
  225. }
  226. function setCalcborder()
  227. {
  228. CalcTable.style.border="1px solid #0090FD"
  229. }
  230. function setHead()
  231. {
  232. CalcTable.cells[0].style.backgroundColor="#7EDEFF"
  233. }
  234. function setCalcButtonBg()
  235. {
  236. for(var i=0;i<Calc.elements.length;i++)
  237. {
  238. if(Calc.elements[i].type=="button"&&Calc.elements[i].bgtype!="1")
  239. {
  240. // if(i==10)
  241. // alert(123);
  242. Calc.elements[i].style.borderTopWidth= 0
  243. Calc.elements[i].style.borderRightWidth= 2
  244. Calc.elements[i].style.borderBottomWidth= 2
  245. Calc.elements[i].style.borderLeftWidth= 0
  246. Calc.elements[i].style.borderTopStyle= "none";
  247. Calc.elements[i].style.borderRightStyle= "solid";
  248. Calc.elements[i].style.borderBottomStyle= "solid";
  249. Calc.elements[i].style.borderLeftStyle= "none";
  250. //#46AC17
  251. Calc.elements[i].style.borderTopColor= "#118ACC";
  252. Calc.elements[i].style.borderRightColor= "#118ACC";
  253. Calc.elements[i].style.borderBottomColor= "#118ACC";
  254. Calc.elements[i].style.borderLeftColor= "#118ACC";
  255. //#CBF3B2
  256. Calc.elements[i].style.backgroundColor="#ADDEF8";
  257. var str1=Calc.elements[i].value;
  258. str1=str1.trim();
  259. /*
  260. if(str1=="`") 
  261. {
  262. Calc.elements[i].style.fontSize=14;
  263. }
  264. */
  265. if(str1.length==1)
  266. {
  267. //Calc.elements[i].style.fontSize=16;
  268. //Calc.elements[i].style.fontWeight='bold';
  269. }
  270. var thisButtonValue=Calc.elements[i].value;
  271. thisButtonValue=thisButtonValue.trim();
  272. if(thisButtonValue.length==1)
  273. {
  274. Calc.elements[i].onclick=
  275. function ()
  276. {
  277. var thisButtonValue=this.value;
  278. thisButtonValue=thisButtonValue.trim();
  279. addValue(thisButtonValue);
  280. //alert(234)
  281. }
  282. Calc.elements[i].ondblclick=
  283. function ()
  284. {
  285. var thisButtonValue=this.value;
  286. thisButtonValue=thisButtonValue.trim();
  287. addValue(thisButtonValue);
  288. //alert(234)
  289. }
  290. }
  291. }
  292. }
  293. }
  294. function initCalc()
  295. {
  296. setCalcborder();
  297. setHead();
  298. setCalcButtonBg();
  299. }
  300. String.prototype.trim = function()
  301. {
  302.     // 用正则表达式将前后空格
  303.     // 用空字符串替代。
  304.     return this.replace(/(^s*)|(s*$)/g, "");
  305. }
  306. var capsLockFlag;
  307. capsLockFlag=true;
  308. function capsLockText()
  309. {
  310. if(capsLockFlag)//改成大写
  311. {
  312. for(var i=0;i<Calc.elements.length;i++)
  313. {
  314. var char=Calc.elements[i].value;
  315. var char=char.trim()
  316. if(Calc.elements[i].type=="button"&&char>="a"&&char<="z"&&char.length==1)
  317. {
  318. Calc.elements[i].value=" "+String.fromCharCode(char.charCodeAt(0)-32)+" "
  319. }
  320. }
  321. }
  322. else
  323. {
  324. for(var i=0;i<Calc.elements.length;i++)
  325. {
  326. var char=Calc.elements[i].value;
  327. var char=char.trim()
  328. if(Calc.elements[i].type=="button"&&char>="A"&&char<="Z"&&char.length==1)
  329. {
  330. Calc.elements[i].value=" "+String.fromCharCode(char.charCodeAt(0)+32)+" "
  331. }
  332. }
  333. }
  334. capsLockFlag=!capsLockFlag;
  335. }
  336. window.onload=
  337. function ()
  338. {
  339. password1=null;
  340. initCalc();
  341. }