老师高光不显示

来源:2-7 实现垂直菜单

我代码么问题

2021-11-05 21:48:18

(function(){

    // 获取一级标题元素

    var bannerNavUl=document.querySelector('.banner_nav_ul');

    // 获取一级标题的子元素

    var bannerList=bannerNavUl.children;

    // 当鼠标离开大盒子的时候二级菜单取消显示

    var bannerNav=document.querySelector('.banner_nav');

    //   寻找所有的menu

    var menus=document.querySelectorAll('.menu_box .menu');

    bannerNavUl.addEventListener('mouseover',function(e){

        // 采用事件委托获取当前点击的li元素

        if (e.target.tagName.toLowerCase()=='li') {

          var n=  e.target.getAttribute('data-n');

          e.target.className+=' current';

         

        //   根据一级菜单获取对应得二级菜单

          var theMenu=document.querySelector('.menu_box .menu[data-n='+n+']');


   

        //   排他操作 让所有的盒子都去掉current类

        for (let i = 0; i < menus.length; i++) {

            menus[i].className='menu';

        }

        theMenu.className='menu current';


        }

    });

    // 鼠标离开一级菜单,二级菜单消失

    bannerNav.addEventListener('mouseleave',function(){

        for (let i = 0; i < bannerList.length; i++) {

            bannerList[i].className=bannerList[i].getAttribute('data-n');

            menus[i].className='menu';

        }

    });


})()


写回答

1回答

好帮手慕久久

2021-11-06

同学你好,不是很理解同学的意思。“高光不显示”是指“编辑器中代码没有颜色(都是白色)”,还是指鼠标移入一级菜单,一级菜单没有高亮显示?

如果是后者,由于同学没有提供html结构,因此老师只能做如下猜测:

1、建议检查js中使用的类名,与html结构中的类名是否对应:

https://img.mukewang.com/climg/6185e6d909ae3ee106750269.jpg

2、建议检查html结构上,设置的自定义属性名是否一致:

https://img.mukewang.com/climg/6185e6f7096d170d06580137.jpg

老师将同学的js复制到源码中,并做上述调整后,一级菜单可以高亮:

https://img.mukewang.com/climg/6185e73409ddaff910580387.jpg

如果同学自己找不到问题,建议把html结构代码也发出来(可以多次回复,粘贴代码),老师再为你解答。

如果是后者,建议同学把编辑器的状态截图发一下,截图大些,要能看到整个编辑器窗口,老师再为你解答。

祝学习愉快!

0

0 学习 · 15276 问题

查看课程