老师高光不显示
来源: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结构中的类名是否对应:
2、建议检查html结构上,设置的自定义属性名是否一致:
老师将同学的js复制到源码中,并做上述调整后,一级菜单可以高亮:
如果同学自己找不到问题,建议把html结构代码也发出来(可以多次回复,粘贴代码),老师再为你解答。
如果是后者,建议同学把编辑器的状态截图发一下,截图大些,要能看到整个编辑器窗口,老师再为你解答。
祝学习愉快!
相似问题
回答 1
回答 1
回答 2
回答 1
回答 1