<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";
close.style.display="block";
}
// 隐藏登录层函数
function hideLogin(){
// 执行代码
login_box.style.display="none";
}
//点击登录按钮显示登录层
// 执行代码
//点击关闭按钮隐藏登录层
// 执行代码
}
addEvent(login_btn,"click",showLogin);
addEvent(close,"click",hideLogin);
必须
addEvent(login_btn,"click",showLogin);
addEvent(close,"click",hideLogin);} 括号必须包含调用的函数
文档流是自上而下加载,你如果放在window.onload外面,相当于页面一开始加载就在调用这两个函数,但是,在页面加载完之前,这两个函数都是没有意义的,所以才会没有反应。
}是window.onload的结束括号,表示的意思是文档加载完毕再执行,如果将 addEvent(login_btn,"click",showLogin);
addEvent(close,"click",hideLogin);
这两句写在括号外,那么文档加载过程中,加载到此处就会执行这两句,而此时login_btn,close,函数都是未定义的,因为window.onload中的内容暂时不会执行,所以会没有效果,至于会出现什么错误,我也才初学,不清楚。
当然要包含在内啊 包含在内就是给这两个按钮添加了功能啊
第一句
window.onload=function(){
没有 }
所以会出现
Uncaught SyntaxError: Unexpected end of input
这样的错误
最后面少了个 },我也遇到这个问题