請問哪里錯了
<!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");
? ? ? ?// 封裝添加事件監聽程序
? ? ? ? function addEvent(ele,type,hander){
? ? ? ? ? if(ele.addEventListener){
? ? ? ? ? ? ? ele.addEventListener(type,hander,false);
? ? ? ? ? }else if(ele.attachEvent){
? ? ? ? ? ? ? ele.attachEvent("on"+type,hander);
? ? ? ? ? }
? ? ? ? ?else{
? ? ? ? ? ? ?ele["on"+type]=hander;
? ? ? ? ?}
? ? ? ? ?}
? ? ? ? ? // 執行代碼 ?
? ? ? ?}
? ? ? ? // 顯示登錄層函數
? ? ? ?function showLogin(){
? ? ? ?login_box.style.display="block"
? ? ? ? ? ? ? // 執行代碼
? ? ? ? }
? ? ? ? // 隱藏登錄層函數
? ? ? ? function hideLogin(){
? ? ? ? ? login_box.style.display="none"
? ? ? ? ? // 執行代碼
? ? ? ? }
? ? ? ? //點擊登錄按鈕顯示登錄層?
? ? ? ? addEvent(Login_btn,"click",showLogin);
? ? ? ? // 執行代碼
? ? ? ? //點擊關閉按鈕隱藏登錄層
? ? ? ? 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-08-10
1、把你的全部代碼復制到編輯器里,第31行,也就是‘}’(window.onload{}的后括號)應該放在addEvent(close,"click",hideLogin);這行代碼的后面。使addEvent能夠被識別為方法調用。2、還有一個錯誤,addEvent(Login_btn,"click",showLogin); 中的“Login_btn”單詞與上面聲明的“login_btn”不一樣。像這種長串單詞還是ctrl+c、ctrl+v,比較不容易出錯。
建議:下次出錯學會用瀏覽器調試工具,在那里發現錯誤很容易,一些錯誤會定位錯在哪一行,希望可以共同進步。
2016-07-30
addEvent(Login_btn,"click",showLogin);
2016-07-30
// 顯示登錄層函數 上面的{ 挪到最后;addEvent(login_btn,"click",showLogin); ?l是小寫