为了账号安全,请及时绑定邮箱和手机立即绑定

在前一个编程练习加了计时器出错了,在哪里出错了?

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Document</title>

</head>

<!doctype html>

<html>

<head>

    <meta charset="UTF-8">

    <title>Document</title>

<style type="text/css">

    *{margin:0;

     padding:0;

     font-size:13px;

     list-style:none;}


.menu{width:210px;

      margin:50px auto;

      border:1px solid #ccc;}


.menu p{height:25px;

        line-height:25px;

        font-weight:bold;

        background:#eee;

        border-bottom:1px solid #ccc;

        cursor:pointer;

        padding-left:5px;}


.menu div ul{display:none;}


.menu li{height:24px;

         line-height:24px;

         padding-left:5px;}

</style>

<script type="text/javascript">

window.onload=function(){

var _title=document.getElementsByTagName("p");

    var _ul=document.getElementsByTagName("ul");

    var timer=null;

      // 将所有点击的标题和要显示隐藏的列表取出来

    for(var i=0;i<_title.length;i++){

        _title[i].id=i;

        _title[i].onmouseover=function(){

        if(timer){

            clearTimeout(timer);

            timer=null;

        }else{

            timer=window.setTimeout(function(){

            for(j=0;j<_ul.length;j++){

                _ul[j].style.display="none";

            }

        _ul[this.id].style.display="block";

        },500);

    }

        }

    }

     // 遍历所有要点击的标题且给它们添加索引及绑定事件


     // 获取点击的标题上的索引属性,根据该索引找到对应的列表


     // 判断该列表,如果是显示的则将其隐藏,如果是隐藏的则将其显示出来


}

</script>

</head>

<body>

<div id="menu">

<div>

<p>Web前端</p>

<ul style="display:block">

<li>JavaScript</li>

<li>DIV+CSS</li>

<li>jQuery</li>

</ul>

</div>

<div>

<p>后台脚本</p>

<ul>

<li>PHP</li>

<li>ASP.net</li>

<li>JSP</li>

</ul>

</div>

<div>

<p>前端框架</p>

<ul>

<li>Extjs</li>

<li>Esspress</li>

<li>YUI</li>

</ul>

</div>

</div>

</body>

</html>

正在回答

2 回答

欢迎常来慕课学习!小伙伴在等着你!

bx

0 回复 有任何疑惑可以回复我~
window.onload=function(){
    var _title=document.getElementsByTagName("p");
    var _ul=document.getElementsByTagName("ul");
    var timer=null;
      // 将所有点击的标题和要显示隐藏的列表取出来
    for(var i=0;i<_title.length;i++){
        _title[i].id=i;
        console.log(i)
        _title[i].onclick=function(){
            console.log(this.id);
            if(_ul[this.id].style.display == "block"){
                 _ul[this.id].style.display = "none";
            }
            else{
                _ul[this.id].style.display="block";
            }
            
        }
    }
}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

在前一个编程练习加了计时器出错了,在哪里出错了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信