加高亮的效果,结果鼠标一放上去,icon却消失了?
来源:2-7 实现垂直菜单
wt涛
2021-03-30 14:48:35
(function(){
var bannerNavUl=document.getElementById("banner-nav-ul");
var bannerNav=document.getElementById("banner-nav");
var bannerLis=document.querySelectorAll('#banner-nav-ul li');
//寻找所有的menu
var menus=document.querySelectorAll(".menus-box .menu");
//事件委托,必须使用onmouseover事件,而不是onmouseenter
//onmouseover冒泡,onmouseenter不冒泡
bannerNavUl.onmouseover=function(e){
if(e.target.tagName.toLowerCase()=="li"){
//得到触碰的这个li元素身上的data-t属性
var t=e.target.getAttribute('data-t');
//排他操作,让所以的li去掉current
for(var i=0;i<bannerLis.length;i++){
bannerLis[i].className=bannerLis[i].getAttribute('data-t');
}
//当前碰到的这个li,要加current类
e.target.className+='current';
//寻找匹配的menu
var themenu=document.querySelector('.menus-box .menu[data-t='+ t +']');
//排他操作,让其他的盒子都去掉current
for (var i=0;i<menus.length;i++){
menus[i].className='menu';
}
//匹配的这项加上current
themenu.className='menu current';
}
}
//当鼠标离开大盒子,菜单要关闭
bannerNav.onmouseleave=function(){
for(var i=0;i<bannerLis.length;i++){
bannerLis[i].className=bannerLis[i].getAttribute('data-t');
menus[i].className='menu';
}
}
})();
能直接打包给老师看嘛
3回答
好帮手慕言
2021-03-30
同学你好,相似的问题在同学的另一个提问中回复了,快去查看吧,链接:http://class.imooc.com/course/qadetail/283216,
另外:老师们是在问答区给同学们解疑答惑的,私信不常使用,所以同学有疑问的话,在问答区提问就可以,如果是项目中的问题,图片可以不提供,因为课程提供的源代码中是有图片的,在提问时,把自己书写的代码都粘贴上来就行~
祝学习愉快~
好帮手慕言
2021-03-30
同学你好,可以多回复几次,每次粘贴一部分代码,在粘贴时,要标明是哪个文件的代码,例如:
下方是index.html文件的代码:
这里放代码
下方是index.css文件的代码
这里放代码
祝学习愉快~
好帮手慕言
2021-03-30
同学你好,为了准确的定位到代码中的问题,给出解决方案,建议:把完整的html、css、js代码都粘贴上来,祝学习愉快~
相似问题