请问哪里错了

来源:3-3 编程练习

qq_Desperado_19

2016-07-30 15:46

<!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>


写回答 关注

3回答

  • 唯盼温暖亦如初
    2016-08-10 18:39:16

    1、把你的全部代码复制到编辑器里,第31行,也就是‘}’(window.onload{}的后括号)应该放在addEvent(close,"click",hideLogin);这行代码的后面。使addEvent能够被识别为方法调用。2、还有一个错误,addEvent(Login_btn,"click",showLogin); 中的“Login_btn”单词与上面声明的“login_btn”不一样。像这种长串单词还是ctrl+c、ctrl+v,比较不容易出错。

    建议:下次出错学会用浏览器调试工具,在那里发现错误很容易,一些错误会定位错在哪一行,希望可以共同进步。

  • H_action
    2016-07-30 20:46:50

    addEvent(Login_btn,"click",showLogin);

  • _Sandm
    2016-07-30 18:09:41

    // 显示登录层函数 上面的{ 挪到最后;addEvent(login_btn,"click",showLogin);  l是小写

DOM事件探秘

DOM事件?本课程会通过实例来给小伙伴们讲解如何使用这些事件

99546 学习 · 1197 问题

查看课程

相似问题