為什么這么寫不行?
?? <script>
????? window.onload=function(){
???? ??? ?var login_btn=document.getElementById('login'),
???? ??? ???? login_box=document.getElementById('login_box'),
???? ??? ???? close=document.getElementById('close');
???? ??? ?// 封裝添加事件監(jiān)聽程序
??????? function addEvent(ele,type,hander){
?????????? // 執(zhí)行代碼 ?
?????????? if(ele.addEventListener){
?????????????? ele.addEventListener(type,hander,false)
?????????? }
?????????? else if(ele.attachEvent){
?????????????? ele.attachEvent("on"+type,hander)
?????????? }
?????????? else{
?????????????? ele["on"+type]=hander;
?????????? }
???? ??? ?}
??????? // 顯示登錄層函數(shù)
???? ??? ?function showLogin(){
???? ??? ??? ?// 執(zhí)行代碼
?????????? login_box.style.display="block";
??????????? close.style.display="block";
???????? ?
??????? }
??????? // 隱藏登錄層函數(shù)
??????? function hideLogin(){
????????? // 執(zhí)行代碼
????????? login_box.style.display="none";
??????? }
??????? //點擊登錄按鈕顯示登錄層
??????? // 執(zhí)行代碼
??????? //點擊關(guān)閉按鈕隱藏登錄層
??????? // 執(zhí)行代碼
????? }
????? addEvent(login_btn,"click",showLogin);
????? addEvent(close,"click",hideLogin);
必須?
????? addEvent(login_btn,"click",showLogin);
????? addEvent(close,"click",hideLogin);} ?? 括號必須包含調(diào)用的函數(shù)
2016-06-01
文檔流是自上而下加載,你如果放在window.onload外面,相當(dāng)于頁面一開始加載就在調(diào)用這兩個函數(shù),但是,在頁面加載完之前,這兩個函數(shù)都是沒有意義的,所以才會沒有反應(yīng)。
2016-04-13
}是window.onload的結(jié)束括號,表示的意思是文檔加載完畢再執(zhí)行,如果將?addEvent(login_btn,"click",showLogin);
????? addEvent(close,"click",hideLogin);
這兩句寫在括號外,那么文檔加載過程中,加載到此處就會執(zhí)行這兩句,而此時login_btn,close,函數(shù)都是未定義的,因為window.onload中的內(nèi)容暫時不會執(zhí)行,所以會沒有效果,至于會出現(xiàn)什么錯誤,我也才初學(xué),不清楚。
2016-04-10
當(dāng)然要包含在內(nèi)啊 包含在內(nèi)就是給這兩個按鈕添加了功能啊
2016-04-05
第一句
? window.onload=function(){
沒有 ?}
所以會出現(xiàn)
Uncaught SyntaxError: Unexpected end of input?
這樣的錯誤
2016-04-05
最后面少了個 },我也遇到這個問題