小白渣
2016-04-15 23:54:44
<!doctype?html>
<html>
<head>
????<meta?charset="UTF-8">
????<title>Document</title>
????<style>
?????*{margin:0;padding:0;}
?????.head{font-size:12px;padding:6px?0?0?10px;}
?????#login_box{width:300px;height:150px;background:#eee;
?????border:1px?solid?#ccc;position:absolute;left:50%;top:50%;margin-left:-150px;margin-top:-75px;display:none;}
?????#login_box?p{height:20px;border-bottom:1px?solid?#ccc;font-size:12px;padding:6px?0?0?5px;font-weight:bold;}
?????#close{width:14px;height:14px;background:url(close.png)?no-repeat;position:absolute;right:4px;top:6px;}
????</style>
????<script>
??????window.onload=function(){
??????????var?login_btn=document.getElementById('login'),
??????????????login_box=document.getElementById('login_box'),
??????????????close=document.getElementById('close');
??????????//?封裝添加事件監(jiān)聽(tīng)程序
????????
??????function?addEvent(ele,type,hander){
????????????????//?執(zhí)行代碼
????????????????if(ele.addEventListener){
????????????????????ele.addEventListener(type,hander);
????????????????}else?if(ele.attach){
????????????????????ele.attach("on"+type,hander)
????????????????}else{
????????????????????ele["on"+type]=hander;
????????????????}
????????????}
????????//?顯示登錄層函數(shù)
??????????function?showLogin(){
??????????????login_box.style.display="block";//?執(zhí)行代碼
????????}
????????//?隱藏登錄層函數(shù)
????????function?hideLogin(){
????????????login_box.style.display="none";?//?執(zhí)行代碼
????????}
????????
????????addEvent(login_btn,"click",showLogin);//點(diǎn)擊登錄按鈕顯示登錄層?
????????//?執(zhí)行代碼
????????addEvent(login_btn,"click",hideLogin);//點(diǎn)擊關(guān)閉按鈕隱藏登錄層
????????//?執(zhí)行代碼
??????}
????</script>
</head>
<body>
????<div>親,您好!<input?type="button"?value="登?錄"?id="login"?onclick="showLogin()"></div>
????<div?id="login_box">
????????<p>用戶登錄</p><span?id="close"></span>
????</div>
</body>
</html>
3 回答

蛋加樹(shù)
TA貢獻(xiàn)29條經(jīng)驗(yàn) 獲得超13個(gè)贊
一:?window.onload=function()這個(gè)匿名函數(shù)的結(jié)束符號(hào)在最后,也就是說(shuō)showLogin函數(shù)是個(gè)局部的函數(shù),執(zhí)行完就沒(méi)了。應(yīng)該把后續(xù)需要執(zhí)行的函數(shù)寫在匿名函數(shù)的后面。
二:你想實(shí)現(xiàn)登錄框隱藏和顯示交替作用的效果,就不該指定login的onclick事件為showLogin(),而應(yīng)該是addEvent函數(shù)。目測(cè)你這種寫法還是做不到你要的效果。
使用jQuery的一些簡(jiǎn)單方法可以實(shí)現(xiàn)你要的效果,具體的可以到w3school網(wǎng)上看jQuery部分。
添加回答
舉報(bào)
0/150
提交
取消