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

课程第一章滑动、点击切换效果实现中的编程练习题用下面的代码来做,为什么运行不了,求解答:

课程第一章滑动、点击切换效果实现中的编程练习题用下面的代码来做,为什么运行不了,求解答:

window.onload=function(){
  var ps=document.getElementsByTagName("p");
      var uls=document.getElementsByTagName("ul");
      for(var i=0;i<ps.length;i++){
    ps[i].onclick=function(){
     if(ps[i].nextSibling.style.display=="block"){
      ps[i].nextSibling.style.display="none";
      }else{
      ps[i].nextSibling.style.display="block" }
     }
            
          }
   
 }

提问者:慕婉清8780025 2016-07-18 14:53

个回答

  • YOUNGFOREVER
    2016-07-18 18:25:35
    已采纳

    这个问题是作用域的关系。请看图片。

    http://img.mukewang.com/578cae7800010e9c18440891.jpg

  • TonyLi_hc
    2016-07-18 20:59:42

    window.onload=function(){
            var clicktitles = document.getElementById('menu').getElementsByTagName('p');
            var lists = document.getElementById('menu').getElementsByTagName('ul');
            for(var i=0; i<clicktitles.length; i++){
                clicktitles[i].id=i;
                clicktitles[i].onclick = function(){
                    var list = lists[this.id]
                    if(list.style.display=='block'){
                       list.style.display='none';
                    }else {
                    	list.style.display='block';
                    }
                }
            }
    	}
    	</script>

    你参考一下我这个代码吧。。。