问答详情
源自:3-1 用JavaScript实现手风琴效果

为什么我照着写下来却没有出现效果呢?

function bind(el,eventType, callback){

    if(typeof el.addEventListener === "function"){

           el.addEventListener(el,eventType, callback,false);

        }else if(typeof el.attechEvent === "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 = targt.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();


提问者:weibo_E才是Eliza_J_0 2015-05-01 17:21

个回答

  • comlejade
    2016-01-27 19:23:40
    已采纳

    最后函数执行的时候应该放在 window.onload = function(){ initList()};

  • weibo_E才是Eliza_J_0
    2015-05-01 17:21:46

    function bind(el,eventType, callback){
    	if(typeof el.addEventListener === "function"){
    		   el.addEventListener(el,eventType, callback,false);
    		}else if(typeof el.attechEvent === "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 = targt.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();