猿问

内外部js代码

<script type="text/javascript">
							function bind(el, eventType, callback){
								if(typeof el.addEventListener === 'function'){
									//标准事件绑定方法
									el.addEventListener(eventType, callback, false);
								}else if(typeof el.attechEvent === 'function'){
									//IE事件绑定方法
									el.attachEvent('on' + eventType, callback);
								}
							}
							  //鼠标悬停的处理函数
							function mouseoverHandler(e){
								var target = e.target || e.srcElement;
								var outer = document.getElementById('imageMenu');
								var list = outer.getElementsByTagName('li');
								//清空所有LI元素的big
								for(var i = 0; i < list.length; i++){
									list[i].className = list[i].className.replace(/ ?big/g, '');
								}
								//根据事件的冒泡原理,找到需要变更class 的LI元素
								while(target.tagName != 'LI' && target.tagName != 'BODY'){
									target = target.parentNode;
								}
								//给当前元素加上class big
								target.className += ' big';
							}
							function initList(){
								//取得外部元素
								var outer = document.getElementById('imageMenu');
								//取得每个列表项
								var list = outer.getElementsByTagName('li');
								for(var i =0; i < list.length; i++){
									//对每个列表绑定鼠标悬停事件的监听
									bind(list[i], 'mouseover', mouseoverHandler);
								}
							}
							//执行初始化函数
							initList();
							</script>

在body内部有效,但是改为外部js就没用了,是什么情况??

NancyChen
浏览 837回答 1
1回答

拿不到钥匙的车放不进手机的歌

应该是1楼的说法 ,去掉最后一行的函数执行 改成 window.onload=function(){initList();}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答