这里才是正确代码!

来源:3-1 用JavaScript实现手风琴效果

weibo_E才是Eliza_J_0

2015-05-01 19:43

function bind(el,eventType, callback){
	if(typeof el.addEventListener === "function"){
		   el.addEventListener(eventType, callback,false);
		}else if(typeof el.attachEvent === "function"){
		   el.attechEvent("on" + eventType,callback);
			}
	}
	
function mouseoverHandler(e){
	var target = e.target || e.srcElement;
	var outer = document.getElementById("subject");
	var list = outer.getElementsByTagName("li");
	
	for(var i = 0; i < list.length; i++){
		list[i].className = "";
		}
	
	   while(target.tagName != "LI" && target.tagName != "BODY"){
		     target = target.parentNode;
		   } 
	   target.className = "big";
	
	}


function initList(){
	var outer = document.getElementById("subject");
	var list = outer.getElementsByTagName("li");
	for(var i=0; i < list.length; i++){
	     bind(list[i],"mouseover", mouseoverHandler);
	   }
	}
	
initList();


写回答 关注

5回答

  • qq_梦中灯_戀髶_0
    2016-04-21 14:09:39

    要把<script type="text/javascript" src="demo.js"></script>放在body里面

  • chendidi
    2016-04-14 09:07:18

    为啥我用你的还是不行……

  • yiyayiyaha
    2015-08-14 16:29:11

    我知道了,我的<script type="text/javascript" src="demo.js"></script>这句放在上面了。。。

  • yiyayiyaha
    2015-08-14 16:27:13

    你确定是对的吗,怎么还是会出现你提出过的问题,就是ncaught TypeError: Cannot read property 'getElementsByTagName' of null

  • qq_曾谭娥_0
    2015-06-22 20:50:46

    很赞,不过有点小粗心哈。

    else if(typeof el.attechEvent === "function"){

               el.attechEvent("on" + eventType,callback);

                }

    这里的attechment应该是attachEvent

手风琴效果

本视频教程通过实例讲解,教你轻松制作手风琴效果,学起来吧

40824 学习 · 111 问题

查看课程

相似问题