Js之软键盘实现(js源码)


Posted in Javascript onJanuary 30, 2007

鉴于安全性的考虑,不少网站在登录输入密码时都采用了软键盘,避免一些键盘记录工具和木马对击键的捕捉。项目中也有这个需求,就分享给大家了,贴个效果图上来。。有兴趣的朋友可以收藏。。..如果觉得功能有点庞大,只需要数字小键盘的朋友,可参考代码精简。
下载大键盘: http://www.cnblogs.com/Files/sccxszy/softKey.rar
小键盘:http://www.cnblogs.com/Files/sccxszy/smallSoftkey.rar
Js之软键盘实现(js源码)
小键盘:
Js之软键盘实现(js源码)

效果还原:Default.aspx,softkeyboard.js,softkey.css三个文件
js代码:
softkeyboard.js 

window.onload=  
function()  
{  
password=null;  
initCalc();  
}  
var password;  
var CapsLockValue=;  
var checkSoftKey;  
function setVariables() {  
tablewidth=;  
tableheight=;  
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 (checkSoftKey) {  
objectXY="softkeyboard";  
var availableX=eval(innerW);  
var availableY=eval(innerH);  
var currentX=eval(offsetX);  
var currentY=eval(offsetY);  
x=availableX-tablewidth+currentX;  
y=currentY;  
evalMove();  
}  
setTimeout("checkLocation()",);  
}  
function evalMove() {  
eval(docStyle + objectXY + styleDoc + vert + "=" + y);  
}  
self.onError=null;  
currentX = currentY =;    
whichIt = null;             
lastScrollX =; lastScrollY =;  
NS = (document.layers) ? :;  
IE = (document.all) ?:;  
function heartBeat() {  
if(IE) { diffY = document.body.scrollTop; diffX = document.body.scrollLeft; }  
if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; }  
if(diffY != lastScrollY) {  
percent = . * (diffY - lastScrollY);  
if(percent >) 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 = . * (diffX - lastScrollX);  
if(percent >) 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) {  
checkSoftKey = false;  
if(IE) {  
whichIt = event.srcElement;  
while (whichIt.id!=null&&whichIt.id.indexOf("softkeyboard") == -) {  
whichIt = whichIt.parentElement;  
if (whichIt == null) { return true; } }  
if(whichIt.style!=null){  
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 = document.softkeyboard;  
StalkerTouchedX = e.pageX-document.softkeyboard.pageX;  
StalkerTouchedY = e.pageY-document.softkeyboard.pageY;} }  
return true;    }  
function moveIt(e) {  
if (whichIt == null) { return false; }  
if(IE) {  
if(whichIt.style!=null){  
newX = (event.clientX + document.body.scrollLeft);  
newY = (event.clientY + document.body.scrollTop);  
distanceX = (newX - currentX);    distanceY = (newY - currentY);  
currentX = newX;    currentY = newY;  
whichIt.style.pixelLeft += distanceX;  
whichIt.style.pixelTop += distanceY;  
if(whichIt.style.pixelTop < document.body.scrollTop) whichIt.style.pixelTop =   
document.body.scrollTop;  
if(whichIt.style.pixelLeft < document.body.scrollLeft) whichIt.style.pixelLeft =   
document.body.scrollLeft;  
if(whichIt.style.pixelLeft > document.body.offsetWidth - document.body.scrollLeft -   
whichIt.style.pixelWidth -) whichIt.style.pixelLeft = document.body.offsetWidth -   
whichIt.style.pixelWidth -;  
if(whichIt.style.pixelTop > document.body.offsetHeight + document.body.scrollTop -   
whichIt.style.pixelHeight -) whichIt.style.pixelTop = document.body.offsetHeight +   
document.body.scrollTop - whichIt.style.pixelHeight -;  
event.returnValue = false;  
}  
} else {   
whichIt.moveTo(e.pageX-StalkerTouchedX,e.pageY-StalkerTouchedY);  
if(whichIt.left <+self.pageXOffset) whichIt.left =+self.pageXOffset;  
if(whichIt.top <+self.pageYOffset) whichIt.top =+self.pageYOffset;  
if( (whichIt.left + whichIt.clip.width) >= (window.innerWidth+self.pageXOffset-))   
whichIt.left = ((window.innerWidth+self.pageXOffset)-whichIt.clip.width)-;  
if( (whichIt.top + whichIt.clip.height) >= (window.innerHeight+self.pageYOffset-))   
whichIt.top = ((window.innerHeight+self.pageYOffset)-whichIt.clip.height)-;  
return false;}  
return false;    }  
function dropIt() {whichIt = null;  
if(NS) window.releaseEvents (Event.MOUSEMOVE);  
return true;    }  
if(NS) {window.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN);  
window.onmousedown = grabIt;  
window.onmousemove = moveIt;  
window.onmouseup = dropIt;    }  
if(IE) {  
document.onmousedown = grabIt;  
document.onmousemove = moveIt;  
document.onmouseup = dropIt;    }  
var style="<style>";  
style+=".btn_letter {BORDER-RIGHT:px solid; PADDING-RIGHT:px; BORDER-TOP:px solid;   
PADDING-LEFT:px;FONT-SIZE:px; BORDER-LEFT:px solid; CURSOR: hand;PADDING-TOP:px;   
BORDER-BOTTOM:px solid; width:px; height:px;}";  
style+=".btn_num {width:px;BORDER-RIGHT:px solid; PADDING-RIGHT:px; BORDER-TOP:px   
solid; PADDING-LEFT:px; FONT-SIZE:px; BORDER-LEFT:px solid; CURSOR: hand; PADDING-  
TOP:px; BORDER-BOTTOM:px solid;height:px;}";  
style+=".table_title {FILTER: progid:DXImageTransform.Microsoft.Gradient  
(GradientType=,StartColorStr=#BDEF, EndColorStr=#ABDA); height:px;padding-top:   
px;}";  
style+=".btn_input {BORDER-RIGHT: #CAApx solid; PADDING-RIGHT:px; BORDER-TOP:   
#CAApx solid; PADDING-LEFT:px; FONT-SIZE:px; FILTER:   
progid:DXImageTransform.Microsoft.Gradient(GradientType=, StartColorStr=#ffffff,   
EndColorStr=#CDAF); BORDER-LEFT: #CAApx solid; CURSOR: hand; COLOR: black; PADDING-  
TOP:px; BORDER-BOTTOM: #CAApx solid}";  
style+="</style>";      
document.write(style);                                                                                                                   
document.write("<DIV align=center id=\"softkeyboard\" name=\"softkeyboard\"   
style=\"position:absolute; left:px; top:px; width:px; z-index:;display:none\"><table   
id=\"CalcTable\" width=\"\" border=\"\" align=\"center\" cellpadding=\"\" cellspacing=\"  
\" bgcolor=\"\"><FORM id=Calc name=Calc action=\"\" method=post autocomplete=\"off\"><tr><td   
class=\"table_title\"  align=\"right\" valign=\"middle\" bgcolor=\"\" style=\"cursor:   
default;height:\"><INPUT type=hidden value=\"\" name=password><INPUT type=hidden value=ok   
name=action> <font style=\"font-weight:bold; font-size:px; color:#BC\">博客园  
  密码输入器  
</font>               &n  
bsp      <INPUT id=useKey class=\"btn_input\" type=button   
value=\"使用键盘输入\" bgtype=\"\" onclick=\"password.readOnly=;password.focus  
();closekeyboard();password.value='';\"><span style=\"width:px;\"></span></td></tr><tr   
align=\"center\"><td align=\"center\" bgcolor=\"#FFFFFF\"><table align=\"center\" width=\"%  
\" border=\"\" cellspacing=\"\" cellpadding=\"\">\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=\"\" rowspan=\"\"> <input name=\"button\" type=button value=\" 退  
格\" onclick=\"setpassvalue();\"  onDblClick=\"setpassvalue();\"   
style=\"width:px;height:px\"> \n</td>\n</tr>\n<tr align=\"left\" valign=\"middle\">   
\n<td><input type=button value=\" ` \"></td>\n<td><input type=button bgtype=\"\"   
name=\"button_number\" value=\" \"></td>\n<td> <input type=button bgtype=\"\"   
name=\"button_number\" value=\" \"></td>\n<td> <input type=button bgtype=\"\"   
name=\"button_number\" value=\" \"></td>\n<td> <input type=button bgtype=\"\"   
name=\"button_number\" value=\" \"></td>\n<td> <input type=button bgtype=\"\"   
name=\"button_number\" value=\" \"></td>\n<td> <input type=button bgtype=\"\"   
name=\"button_number\" value=\" \"></td>\n<td> <input type=button bgtype=\"\"   
name=\"button_number\" value=\" \"></td>\n<td> <input type=button bgtype=\"\"   
name=\"button_number\" value=\" \"></td>\n<td> <input type=button bgtype=\"\"   
name=\"button_number\" value=\" \"></td>\n<td> <input bgtype=\"\"    
name=\"button_number\" 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> </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=\"button\" type=button value=\" p \"></td>\n<td>   
<Input name=\"button\" 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=\"button\" type=button onClick=\"capsLockText();setCapsLock();\"    
onDblClick=\"capsLockText();setCapsLock();\" value=\"切换大/小写\"   
style=\"width:px;\"></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=\"button\" type=button value=\" k   
\"></td>\n<td> <input name=\"button\" type=button value=\" l \"></td>\n<td> <input   
name=\"button\" type=button value=\" : \"></td>\n<td> <input name=\"button\" type=button   
value=\" " \"></td>\n<td> <input type=button value=\" ; \"></td>\n<td> <input   
type=button value=\" ' \"></td>\n<td rowspan=\"\" colspan=\"\"> <input name=\"button\"   
type=button onclick=\"OverInput();\" value=\"   确定  \"   
style=\"width:px;height:px;\"></td>\n</tr>\n<tr align=\"left\" valign=\"middle\">   
\n<td><input name=\"button\" 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=\" < \"></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</tr>\n</table></td></FORM></tr></table></DIV>");  
function addValue(newValue)  
{  
if (CapsLockValue==)  
{  
var str=Calc.password.value;  
if(str.length<password.maxLength)  
{  
Calc.password.value += newValue;  
}              
if(str.length<=password.maxLength)  
{  
password.value=Calc.password.value;  
}  
}  
else  
{  
var str=Calc.password.value;  
if(str.length<password.maxLength)  
{  
//Calc.password.value += newValue.toUpperCase();  
Calc.password.value += newValue;  
}  
if(str.length<=password.maxLength)  
{  
password.value=Calc.password.value;  
}  
}  
}  
function setpassvalue()  
{  
var longnum=Calc.password.value.length;  
var num  
num=Calc.password.value.substr(,longnum-);  
Calc.password.value=num;  
var str=Calc.password.value;  
password.value=Calc.password.value;  
}  
function OverInput()  
{  
var str=Calc.password.value;  
password.value=Calc.password.value;  
closekeyboard();  
Calc.password.value="";  
password.readOnly=;  
}  
function closekeyboard(theForm)  
{  
softkeyboard.style.display="none";  
if(null!=unhideSelect){  
unhideSelect();  
}  
}  
function showkeyboard()  
{  
randomNumberButton();  
var th = password;  
var ttop  = th.offsetTop;  
var thei  = th.clientHeight;  
var tleft = th.offsetLeft;  
var ttyp  = th.type;  
while (th = th.offsetParent){ttop+=th.offsetTop; tleft+=th.offsetLeft;}  
softkeyboard.style.top  = ttop+thei+;  
softkeyboard.style.left = tleft-;  
softkeyboard.style.display="block";  
password.readOnly=;  
password.blur();  
document.all.useKey.focus();  
if(null!=hideSelect){  
hideSelect();  
}  
}  
function setCapsLock()  
{  
if (CapsLockValue==)  
{  
CapsLockValue=  
}  
else   
{  
CapsLockValue=  
}  
}  
function setCalcborder()  
{  
CalcTable.style.border="px solid #BADF"  
}  
function setHead()  
{  
CalcTable.cells[].style.backgroundColor="#BADF"      
}  
function setCalcButtonBg()  
{  
for(var i=;i<Calc.elements.length;i++)  
{  
if(Calc.elements[i].type=="button"&&Calc.elements[i].bgtype!="")  
{  
if(Calc.elements[i].bgtype==""){  
Calc.elements[i].className="btn_num";  
}else{  
Calc.elements[i].className="btn_letter";  
}  
var str=Calc.elements[i].value;  
str=str.trim();  
if(str.length==)  
{  
}  
var thisButtonValue=Calc.elements[i].value;  
thisButtonValue=thisButtonValue.trim();  
if(thisButtonValue.length==)  
{  
Calc.elements[i].onclick=  
function ()  
{  
var thisButtonValue=this.value;  
thisButtonValue=thisButtonValue.trim();  
thisButtonValue=jiamiMimaKey(thisButtonValue);  
addValue(thisButtonValue);  
}  
Calc.elements[i].ondblclick=  
function ()  
{  
var thisButtonValue=this.value;  
thisButtonValue=thisButtonValue.trim();  
thisButtonValue=jiamiMimaKey(thisButtonValue);  
addValue(thisButtonValue);  
}  
}  
}  
}  
}  
function initCalc()  
{  
setCalcborder();  
setHead();  
setCalcButtonBg();  
}  
String.prototype.trim = function()  
{  
return this.replace(/(^\s*)|(\s*$)/g, "");  
}  
var capsLockFlag;  
capsLockFlag=true;  
function capsLockText()  
{  
if(capsLockFlag)  
{  
for(var i=;i<Calc.elements.length;i++)  
{  
var char=Calc.elements[i].value;  
var char=char.trim()  
if(Calc.elements[i].type=="button"&&char>="a"&&char<="z"&&char.length==)  
{  
Calc.elements[i].value=" "+String.fromCharCode(char.charCodeAt()-)+" "  
}  
}  
}  
else  
{  
for(var i=;i<Calc.elements.length;i++)  
{  
var char=Calc.elements[i].value;  
var char=char.trim()  
if(Calc.elements[i].type=="button"&&char>="A"&&char<="Z"&&char.length==)  
{  
Calc.elements[i].value=" "+String.fromCharCode(char.charCodeAt()+)+" "  
}  
}  
}  
capsLockFlag=!capsLockFlag;  
}  
function randomNumberButton(){  
var a = new Array();    
a[]=;a[]=;a[]=;a[]=;a[]=;a[]=;a[]=;a[]=;a[]=;a[]=;  
var randomNum;  
var times=;  
for(var i=;i<;i++){  
randomNum = parseInt(Math.random()*);  
var tmp=a[];  
a[]=a[randomNum];  
a[randomNum]=tmp;  
}  
Calc.button_number.value=" "+a[]+" ";  
Calc.button_number.value=" "+a[]+" ";  
Calc.button_number.value=" "+a[]+" ";  
Calc.button_number.value=" "+a[]+" ";  
Calc.button_number.value=" "+a[]+" ";  
Calc.button_number.value=" "+a[]+" ";  
Calc.button_number.value=" "+a[]+" ";  
Calc.button_number.value=" "+a[]+" ";  
Calc.button_number.value=" "+a[]+" ";  
Calc.button_number.value=" "+a[]+" ";  
}  
function hideSelect(){  
var i=;  
while(i<document.getElementsByTagName("select").length){  
document.getElementsByTagName("select")[i].style.visibility = "hidden";  
i=i+;  
}  
}  
function unhideSelect(){  
var i=;  
while(i<document.getElementsByTagName("select").length){  
document.getElementsByTagName("select")[i].style.visibility = "visible";  
i=i+;  
}  
}  

function  jiamiMimaKey(newValue) {  
    if (typeof(b) == "undefined" || typeof(ifUseYinshe) == "undefined" || ifUseYinshe ==   
) {return newValue;}  
    var everyone = '';  
    var afterPass = '';  
    for (var i=;i<newValue.length;i++ ) {  
            everyone = newValue.charAt(i);  
            for (var j =;j<((b.length)/);j++) {  
                    if (everyone == b[*j]) {  
                            afterPass = afterPass + b[*j+];  
                            break;  
                    }  
            }  
        }  
        newValue= afterPass;  
        jiami =;  
        return afterPass;  
}  
  Default.aspx:  
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"   
Inherits="_Default"  
    ResponseEncoding="GB" %>  
<!DOCTYPE html PUBLIC "-//WC//DTD XHTML. Transitional//EN"   
"http://www.w.org/TR/xhtml/DTD/xhtml-transitional.dtd">  
<html>  
<head>  
    <title>软键盘</title>  
    <link href="softkey.css" type="text/css" rel="stylesheet">  
    <script src="softkeyboard.js" type="text/javascript"></script>  
</head>  
<body>  
    <form runat="server">  
        <div align="center">  
          <input id="tipLogPwd"  type="text" onkeydown="Calc.password.value=this.value"  
           onblur="tipLogPwd.className='tip_off'"  
           onclick="password=this;showkeyboard();this.readOnly=;Calc.password.value=''"  
                style="width:px">  
        </div>  
    </form>  
</body>  
</html> 

         softkey.css: 
#Page_content {}{  
    PADDING-RIGHT:px; PADDING-LEFT:px; BACKGROUND: #fff; PADDING-BOTTOM:px;   
MARGIN:px auto; WIDTH:px; PADDING-TOP:px  
}  
#Header {}{  
    BACKGROUND: url(../images/blue/header_bg.gif) repeat-x left top  
}  
#Page_left {}{  
    FLOAT: left; MARGIN:pxpxpx; WIDTH:px  
}  
#Page_right {}{  
    FLOAT: right; MARGIN:pxpx; WIDTH:px  
}  
#Footer {}{  
    PADDING-RIGHT:px; BORDER-TOP: #eeepx solid; PADDING-LEFT:px; PADDING-BOTTOM:   
px; COLOR: #aaa; PADDING-TOP:px; TEXT-ALIGN: left  
}  
.Area_title {}{  
    PADDING-RIGHT:px; BORDER-TOP: #cpx solid; MARGIN-TOP:px; PADDING-LEFT:px;   
FONT-WEIGHT: bold; FONT-SIZE:px; PADDING-BOTTOM:px; COLOR: #d; PADDING-TOP:px  
}  
.Area_content {}{  
    PADDING-RIGHT:px; PADDING-LEFT:px; PADDING-BOTTOM:px; PADDING-TOP:px  
}  
.Area_button {}{  
    MARGIN-TOP:px; PADDING-LEFT:px  
}  
.Area_button IMG {}{  
    VERTICAL-ALIGN:px  
}  
.float_left {}{  
    FLOAT: left  
}  
.float_right {}{  
    FLOAT: right  
}  
.content_title {}{  
    PADDING-RIGHT:px; PADDING-LEFT:px; FONT-WEIGHT: bold; PADDING-BOTTOM:px; COLOR:   
#; PADDING-TOP:px  
}  
.relative {}{  
    PADDING-RIGHT:px; BORDER-TOP: #cpx solid; PADDING-LEFT:px; LIST-STYLE-  
POSITION: inside; BACKGROUND: none transparent scroll repeat%%; LIST-STYLE-IMAGE: url  
(../images/blue/icon_list.gif); PADDING-BOTTOM:px; MARGIN:pxpxpx; PADDING-TOP:px  
}  
.relative LI {}{  
    PADDING-RIGHT:px; PADDING-LEFT:px; FONT-WEIGHT: normal; PADDING-BOTTOM:px;   
MARGIN:pxpxpx; COLOR: #; PADDING-TOP:px; BORDER-BOTTOM: #dddpx solid  
}  
 {}{  
    PADDING-RIGHT:px; PADDING-LEFT:px; PADDING-BOTTOM:px; MARGIN:px; PADDING-TOP:   
px  
}  
BODY {}{  
    BACKGROUND: #eee  
}  
BODY {}{  
    FONT:px "宋体",Tahoma; COLOR: #  
}  
DIV {}{  
    FONT:px "宋体",Tahoma; COLOR: #  
}  
TD {}{  
    FONT:px "宋体",Tahoma; COLOR: #  
}  
SPAN {}{  
    FONT:px "宋体",Tahoma; COLOR: #  
}  
SELECT {}{  
    FONT:px "宋体",Tahoma; COLOR: #  
}  
P {}{  
    FONT:px "宋体",Tahoma; COLOR: #  
}  
IMG {}{  
    BORDER-TOP-WIDTH:px; BORDER-LEFT-WIDTH:px; BORDER-BOTTOM-WIDTH:px; BORDER-  
RIGHT-WIDTH:px  
}  
A {}{  
    COLOR: #; TEXT-DECORATION: none  
}  
A:hover {}{  
    COLOR: #b; TEXT-DECORATION: none  
}  
INPUT {}{  
    FONT:px "宋体",Tahoma  
}  
INPUT.button {}{  
    BORDER-TOP-WIDTH:px; PADDING-RIGHT:px; PADDING-LEFT:px; BORDER-LEFT-WIDTH:   
px; BACKGROUND: url(../images/blue/button_bg.gif) #ada repeat-x left top; BORDER-  
BOTTOM-WIDTH:px; PADDING-BOTTOM:px; CURSOR: hand; COLOR: #fff; MARGIN-RIGHT:px;   
PADDING-TOP:px; BORDER-RIGHT-WIDTH:px  
}  
INPUT.button_dis {}{  
    BORDER-TOP-WIDTH:px; PADDING-RIGHT:px; PADDING-LEFT:px; BORDER-LEFT-WIDTH:   
px; BORDER-BOTTOM-WIDTH:px; PADDING-BOTTOM:px; CURSOR: hand; COLOR: #fff; MARGIN-RIGHT:   
px; PADDING-TOP:px; BORDER-RIGHT-WIDTH:px  
}  
UL {}{  
    PADDING-LEFT:px; FONT-WEIGHT: bold; LIST-STYLE-POSITION: outside; BACKGROUND: url  
(../images/icon_ul.gif) no-repeat left top; LIST-STYLE-IMAGE: url  
(../images/blue/icon_list.gif); MARGIN:px; COLOR: #  
}  
LI {}{  
    PADDING-RIGHT:px; PADDING-LEFT:px; FONT-WEIGHT: normal; PADDING-BOTTOM:px;   
MARGIN:pxpxpx; COLOR: #; PADDING-TOP:px  
}  
.clear {}{  
    CLEAR: both  
}  
.top_margin {}{  
    MARGIN:pxpxpxpx  
}  
.text_bold {}{  
    FONT-WEIGHT: bold  
}  
.step_on .text_content {}{  
    COLOR: #  
}  
.text_content {}{  
    PADDING-RIGHT:px; PADDING-LEFT:px; PADDING-BOTTOM:px; PADDING-TOP:px; BORDER  
-BOTTOM: #eeepx solid  
}  
.text_red {}{  
    COLOR: #b  
}  
A.text_red:hover {}{  
    COLOR: #  
}  
.req {}{  
    FONT-WEIGHT: bold; COLOR: #b  
}  
.info {}{  
    COLOR: #  
}  
.dark {}{  
    COLOR: #  
}  
.text_big {}{  
    FONT-SIZE:px; COLOR: #; LINE-HEIGHT:px  
}  
.big {}{  
    FONT-SIZE:px  
}  
.reg_flow {}{  
    PADDING-RIGHT:px; PADDING-LEFT:px; FONT-WEIGHT: normal; FONT-SIZE:px;   
BACKGROUND: #fff; PADDING-BOTTOM:px; MARGIN:pxpxpx; COLOR: #; PADDING-TOP:   
px  
}  
.reg_title {}{  
    PADDING-RIGHT:px; PADDING-LEFT:px; FONT-WEIGHT: bold; FONT-SIZE:px;   
BACKGROUND: url(../images/icon_reg.gif) no-repeat left top; PADDING-BOTTOM:px; COLOR:   
#d; PADDING-TOP:px  
}  
.flow_focus {}{  
    FONT-WEIGHT: bold; COLOR: #b  
}  
.flow_undo {}{  
    COLOR: #  
}  
.flow_done {}{  
    COLOR: #  
}  
.image_safe {}{  
    PADDING-LEFT:px; BACKGROUND: url(../images/icon_safe_big.gif) no-repeat left top  
}  
.text_success {}{  
    BORDER-RIGHT: #cpx solid; PADDING-RIGHT:px; BORDER-TOP: #cpx solid;   
PADDING-LEFT:px; BACKGROUND: url(../images/blue/icon_success.gif) #ffff no-repeatpx   
%; PADDING-BOTTOM:px; BORDER-LEFT: #cpx solid; PADDING-TOP:px; BORDER-BOTTOM:   
#cpx solid  
}  
.text_notice {}{  
    BORDER-RIGHT: #cpx solid; PADDING-RIGHT:px; BORDER-TOP: #cpx solid;   
PADDING-LEFT:px; BACKGROUND: url(../images/blue/icon_gantan.gif) #ffff no-repeatpx   
%; PADDING-BOTTOM:px; BORDER-LEFT: #cpx solid; PADDING-TOP:px; BORDER-BOTTOM:   
#cpx solid  
}  
.reg_info {}{  
    BORDER-RIGHT: #cpx solid; PADDING-RIGHT:px; BORDER-TOP: #cpx solid;   
PADDING-LEFT:px; BACKGROUND: url(../images/blue/icon_info.gif) #ffff no-repeatpx   
%; PADDING-BOTTOM:px; BORDER-LEFT: #cpx solid; PADDING-TOP:px; BORDER-BOTTOM: #c   
px solid  
}  
.step_on .tip_off {}{  
    BORDER-RIGHT: #deefpx solid; PADDING-RIGHT:px; BORDER-TOP: #deefpx solid;   
PADDING-LEFT:px; BACKGROUND: url(../images/blue/arr_tip_off.gif) #fff no-repeatpxpx;   
PADDING-BOTTOM:px; BORDER-LEFT: #deefpx solid; COLOR: #; PADDING-TOP:px; BORDER-  
BOTTOM: #deefpx solid  
}  
.tip_off {}{  
    PADDING-RIGHT:px; PADDING-LEFT:px; BACKGROUND: url  
(../images/blue/arr_tip_off.gif) #fff no-repeatpxpx; PADDING-BOTTOM:px; COLOR: #;   
PADDING-TOP:px  
}  
.tip_on {}{  
    BORDER-RIGHT: #px solid; PADDING-RIGHT:px; BORDER-TOP: #px solid;   
PADDING-LEFT:px; BACKGROUND: url(../images/blue/arr_tip_on.gif) #efde no-repeatpx   
px; PADDING-BOTTOM:px; BORDER-LEFT: #px solid; COLOR: #; PADDING-TOP:px;   
BORDER-BOTTOM: #px solid  
}  
.tip_on IMG {}{  
    VERTICAL-ALIGN: top  
}  
.tip_off IMG {}{  
    VERTICAL-ALIGN: top  
}  
.step_on {}{  
    PADDING-RIGHT:px; PADDING-LEFT:px; BACKGROUND: #fff; PADDING-BOTTOM:px;   
PADDING-TOP:px  
}  
.step_off {}{  
    PADDING-RIGHT:px; PADDING-LEFT:px; BACKGROUND: #fff; PADDING-BOTTOM:px;   
PADDING-TOP:px  
}  
.step_on .content_title {}{  
    COLOR: #  
}  
P {}{  
    MARGIN:pxpx; TEXT-INDENT:em  
}  
.btn_letter {}{  
    BORDER-LEFT-COLOR: #bebd; FILTER: progid:DXImageTransform.Microsoft.Gradient  
(GradientType=,StartColorStr=#ffffff, EndColorStr=#DDDCDC); BORDER-BOTTOM-COLOR: #cb;   
COLOR: #bc; BORDER-TOP-COLOR: #bebd; BORDER-RIGHT-COLOR: #cb  
}  
.btn_num {}{  
    BORDER-LEFT-COLOR: #ebff; FILTER: progid:DXImageTransform.Microsoft.Gradient  
(GradientType=, StartColorStr=#ffffff, EndColorStr=#BD); BORDER-BOTTOM-COLOR: #ebff;   
COLOR: black; BORDER-TOP-COLOR: #ebff; BORDER-RIGHT-COLOR: #ebff  
} 

         想还原事例,又怕麻烦的朋友,也可以留下Email,将发到您邮箱!水平有限,写不出多高深
和理论性较强的文章,只能发些实用的东西给大家.
        Ps:一周一博,工作太忙,时间太少!
小键盘本地下载Js之软键盘实现(js源码)下载此文件 大键盘本地下载Js之软键盘实现(js源码)下载此文件
Javascript 相关文章推荐
jQuery简单实现banner图片切换
Jan 02 Javascript
javascript替换已有元素replaceChild()使用介绍
Apr 03 Javascript
Javascript玩转继承(一)
May 08 Javascript
js中iframe调用父页面的方法
Oct 30 Javascript
JS控制按钮10秒钟后可用的方法
Dec 22 Javascript
Bootstrap每天必学之折叠
Apr 12 Javascript
微信小程序 聊天室简单实现
Apr 19 Javascript
Vue 换肤的示例实践
Jan 23 Javascript
基于vue中解决v-for使用报红并出现警告的问题
Mar 03 Javascript
Vue组件创建和传值的方法
Aug 17 Javascript
Vue实现6位数密码效果
Aug 18 Javascript
layer.js open 隐藏滚动条的例子
Sep 05 Javascript
关于图片验证码设计的思考
Jan 29 #Javascript
一些易混淆且不常用的属性,希望有用
Jan 29 #Javascript
WebGame《逆转裁判》完整版 代码下载(1月24日更新)
Jan 29 #Javascript
判断页面是关闭还是刷新的js代码
Jan 28 #Javascript
用JavaScript和注册表脚本实现右键收藏Web页选中文本
Jan 28 #Javascript
用js自动判断浏览器分辨率的代码
Jan 28 #Javascript
innerHTML,outerHTML,innerTEXT三者之间的区别
Jan 28 #Javascript
You might like
php判断GIF图片是否为动画的方法
2020/09/04 PHP
PHP遍历目录文件的常用方法小结
2017/02/03 PHP
PHP中快速生成随机密码的几种方式
2017/04/17 PHP
PHP实现登录注册之BootStrap表单功能
2017/09/03 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
2009/11/04 Javascript
js 蒙版进度条(结合图片)
2010/03/10 Javascript
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
cookie在javascript中的使用技巧以及隐私在服务器端的设置
2012/12/03 Javascript
关于全局变量和局部变量的那些事
2013/01/11 Javascript
杨氏矩阵查找的JS代码
2013/03/21 Javascript
Js(JavaScript)中,弹出是或否的选择框示例(confirm用法的实例分析)
2013/07/09 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
JQuery结合CSS操作打印样式的方法
2013/12/24 Javascript
让DIV的滚动条自动滚动到最底部的3种方法(推荐)
2016/09/24 Javascript
loading动画特效小结
2017/01/22 Javascript
原生JavaScript实现AJAX、JSONP
2017/02/07 Javascript
bootstrap日期控件问题(双日期、清空等问题解决)
2017/04/19 Javascript
Router解决跨模块下的页面跳转示例
2018/01/11 Javascript
微信小程序引用iconfont图标的方法
2018/10/22 Javascript
javascript function(函数类型)使用与注意事项小结
2019/06/10 Javascript
js仿淘宝放大镜效果
2020/12/28 Javascript
python实现从一组颜色中找出与给定颜色最接近颜色的方法
2015/03/19 Python
python画出三角形外接圆和内切圆的方法
2018/01/25 Python
Python3简单实现串口通信的方法
2019/06/12 Python
详解PyCharm+QTDesigner+PyUIC使用教程
2019/06/13 Python
python入门之基础语法学习笔记
2020/02/08 Python
详解Python中openpyxl模块基本用法
2021/02/23 Python
使用Html5 Stream开发实时监控系统
2020/06/02 HTML / CSS
一百多行代码实现react拖拽hooks
2021/03/23 Javascript
应届生法律顾问求职信
2013/11/19 职场文书
自荐信如何制作?
2014/02/21 职场文书
公司股权转让协议书
2014/04/12 职场文书
2015年图书馆个人工作总结
2015/05/26 职场文书
在人间读书笔记
2015/06/30 职场文书
关于Spring配置文件加载方式变化引发的异常详解
2022/01/18 Java/Android