加高亮的效果,结果鼠标一放上去,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

另外:老师们是在问答区给同学们解疑答惑的,私信不常使用,所以同学有疑问的话,在问答区提问就可以,如果是项目中的问题,图片可以不提供,因为课程提供的源代码中是有图片的,在提问时,把自己书写的代码都粘贴上来就行~

祝学习愉快~

0

好帮手慕言

2021-03-30

同学你好,可以多回复几次,每次粘贴一部分代码,在粘贴时,要标明是哪个文件的代码,例如:

  • 下方是index.html文件的代码:

            这里放代码

  • 下方是index.css文件的代码

        ​这里放代码

祝学习愉快~


0
ht涛
hp>不能私聊?整体打包给你看嘛?里面还涉及到图片之类的啊

h021-03-30
共1条回复

好帮手慕言

2021-03-30

同学你好,为了准确的定位到代码中的问题,给出解决方案,建议:把完整的html、css、js代码都粘贴上来,祝学习愉快~

0
ht涛
hp>太长了啊,不能全部复制上去啊

h021-03-30
共1条回复

0 学习 · 15276 问题

查看课程