问答详情
源自:3-3 编程练习

为什么都一点效果都没有啊,我看了同学出错的地方改,就加了一个花括号

#close{width:14px;line-height:14px;position:absolute;right:4px;top:6px;margin-top:-3px;}
    </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){//dom2级事件处理程序判断
            ele.addEventListener(type,hander,false);
        }else if(ele.attachEvent){//IE事件处理程序判断
            ele.attachEvent('on'+type,hander);
        }else{//DOM0级事件处理程序判
            ele['on'+type]=hander;
                    }
                }
           // 执行代码  
          
        // 显示登录层函数
          function showLogin(){
              login_box.style.display='block';
              // 执行代码
        }
        // 隐藏登录层函数
        function hideLogin(){
            login_box.style.display='none';
          // 执行代码

       addEvent(login_btn,'click',showLogin);//login_btn这个是怎么理解?
        //点击关闭按钮隐藏登录层
        // 执行代码
        addEvent(close,'click',hideLogin);
        }
      
      
    </script>
</head>
<body>
    <div class="head">亲,您好!<input type="button" value="登 录" id="login"></div>
    <div id="login_box">
        <p>用户登录</p><span id="close"></span>
    </div>      

提问者:weibo_本宫li不矫情 2016-12-05 22:50

个回答

  • 烟云藏锋
    2016-12-06 13:45:21
    已采纳

     // 封装添加事件监听程序   前的 } 括号去掉,

    function hideLogin(){
                login_box.style.display='none';

    }  //加上这个括号


    login_btn是获取出来的对象,等同于ID为login的元素在JS中的表现,通过它操作DOM

  • 手机用户3146674384
    2016-12-06 14:13:28

    第一个错误的地方是:

                                5846568f0001dfea05000215.jpg

    第二个错误的地方:

                               http://img.mukewang.com/584656be00019fef08700404.jpg

    你改完执行下应该就是可以得了,希望给你有所帮助