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

内外部js代码

内外部js代码

NancyChen 2017-05-21 14:55:37
<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就没用了,是什么情况??
查看完整描述

1 回答

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

TA贡献71条经验 获得超29个赞

应该是1楼的说法 ,去掉最后一行的函数执行 改成 window.onload=function(){

initList();

}

查看完整回答
反对 回复 2017-05-25
  • 1 回答
  • 0 关注
  • 802 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信