addEvent(close,'click',hideLogin);這句里面為什么用close實(shí)現(xiàn)不了????
<!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){
? ? ? ? ? ?if(ele.addEventListener){//dom2級(jí)事件處理程序判斷
? ? ? ? ? ? ele.addEventListener(type,hander,false);
? ? ? ? }else if(ele.attachEvent){//IE事件處理程序判斷
? ? ? ? ? ? ele.attachEvent('on'+type,hander);
? ? ? ? }else{//DOM0級(jí)事件處理程序判
? ? ? ? ? ? ele['on'+type]=hander;
? ? ? ? ? ?}
? ? ? ?}
? ? ? ? // 顯示登錄層函數(shù)
? ? ? ? function showLogin(){
? ? ? ? ? ? ? login_box.style.display='block';
? ? ? ? }
? ? ? ? // 隱藏登錄層函數(shù)
? ? ? ? function hideLogin(){
? ? ? ? ? ? login_box.style.display='none';
? ? ? ? }
? ? ??
? ? ? ? //點(diǎn)擊登錄按鈕顯示登錄層
? ? ? ? // 執(zhí)行代碼
? ? ? ? addEvent(login_btn,'click',showLogin);//login_btn這個(gè)是怎么理解?
? ? ? ? //點(diǎn)擊關(guān)閉按鈕隱藏登錄層
? ? ? ? // 執(zhí)行代碼
? ? ? ? addEvent(close,'click',hideLogin);
? ? ? } ?
</script>
</head>
<body>
<div>親,您好!<input type="button" value="登 錄" id="login"></div>
<div id="login_box">
<p>用戶登錄</p><span id="close"></span>
</div>
</body>
</html>
2016-12-06
因?yàn)闀r(shí)間冒泡了呀,你用close來(lái)hideLogin的同時(shí)冒泡到了?login_box來(lái)showLogin了,你對(duì)hideLogin函數(shù)里加一句阻止事件冒泡就可以解決這個(gè)問(wèn)題了
2016-12-06
函數(shù)addEvent有三個(gè)參數(shù)(ele,type,hander),這里的login_btn是第一個(gè)參數(shù),就是需要添加時(shí)間的元素