老师当鼠标悬浮上的时候一级标题时没有高光
来源:2-7 实现垂直菜单
我代码么问题
2021-11-06 17:48:12
相关代码:
html <nav class="banner_nav"> <!-- 一级标题 --> <ul class="banner_nav_ul"> <li class="rmcfd_icon cz" data-n="rmcfd_icon"> <dl> <dt>热门出发地</dt> <dd> <a href="#">北京</a> <a href="#">上海</a> <a href="#">广深</a> <a href="#">西南</a> <a href="#">国内其他</a> </dd> </dl> </li> <li class="gat_icon cz" data-n="gat_icon"> <dl> <dt>港澳台 国内</dt> <dd> <a href="#">香港</a> <a href="#">澳门</a> <a href="#">台湾</a> <a href="#">国内其他</a> </dd> </dl> </li> <li class="rh_icon cz" data-n="rh_icon"> <dl> <dt>日本 韩国</dt> <dd> <a href="#">东京</a> <a href="#">大阪</a> <a href="#">冲绳</a> <a href="#">北海道</a> <a href="#">福冈</a> </dd> </dl> </li> <li class="dny_icon cz" data-n="dny_icon"> <dl> <dt>东南亚 南亚</dt> <dd> <a href="#">泰国</a> <a href="#">新加坡</a> <a href="#">马来西亚</a> <a href="#">马尔代夫</a> </dd> </dl> </li> <li class="om_icon cz" data-n="om_icon"> <dl> <dt>欧洲 美洲</dt> <dd> <a href="#">英国</a> <a href="#">法国</a> <a href="#">美国</a> <a href="#">加拿大</a> </dd> </dl> </li> <li class="ax_icon cz" data-n="ax_icon"> <dl> <dt>澳新 中东非</dt> <dd> <a href="#">澳大利亚</a> <a href="#">新西兰</a> <a href="#">迪拜</a> </dd> </dl> </li> </ul> <!-- 二级标题 --> <div class="menu_box"> <!-- 热门出发地 --> <div class="menu" data-n="rmcfd_icon"> <dl> <dt>港澳台</dt> <dd> <a href="">香港</a> <a href="">澳门</a> <a href="">台北</a> <a href="">高雄</a> <a href="">香港迪士尼</a> <a href="">香港海洋公园</a> <a href="">交通接驳</a> <a href="">澳门</a> <a href="">塔新濠天地水舞间</a> <a href="">澳门豪华自助 台北101</a> <a href="">台湾美食</a> </dd> </dl> <dl> <dt>国内热门城市</dt> <dd> <a href="">三亚</a> <a href="">东北雪乡</a> <a href="">大理</a> <a href="">丽江</a> <a href="">昆明</a> <a href="">西双版纳</a> <a href="">拉萨</a> <a href="">成都</a> <a href="">重庆</a> <a href="">长白山</a> <a href="">厦门</a> <a href="">长沙</a> <a href="">桂林北京</a> <a href="">西安</a> <a href="">敦煌</a> <a href="">杭州</a> <a href="">上海</a> <a href="">无锡</a> <a href="">南京</a> <a href="">广州</a> <a href="">黄山</a> <a href="">莫干山</a> <a href="">新疆</a> <a href="">北海</a> <a href="">九华山</a> <a href="">太原</a> <a href="">张家口</a> </dd> </dl> <dl> <dt>热门景点</dt> <dd> <a href="">北京故宫</a> <a href="">东北滑雪</a> <a href="">恭王府</a> <a href="">长城</a> <a href="">青城山大熊猫基地</a> <a href="">峨眉山</a> <a href="">都江堰</a> <a href="">长恨歌表演</a> <a href="">兵马俑</a> <a href="">大唐芙蓉园</a> <a href="">三亚日游</a> <a href="">厦门鼓浪屿</a> <a href="">千岛湖</a> <a href="">呼伦贝尔草原</a> <a href="">希拉穆仁草原</a> <a href="">大理日游</a> <a href="">杭州</a> <a href="">重庆两江夜游船票</a> </dd> </dl> </div> <!-- 港澳台 国内 --> <div class="menu" data-n="gat_icon"> <dl> <dt>港澳台</dt> <dd> <a href="#">香港</a> <a href="#">澳门</a> <a href="#">台北</a> <a href="#">高雄</a> <a href="#">香港迪士尼</a> <a href="#">香港海洋公园</a> <a href="#">交通接驳</a> <a href="#">澳门塔</a> <a href="#">新濠天地水舞间</a> <a href="#">澳门豪华自助</a> <a href="#">台北101</a> <a href="#">台湾美食</a> </dd> </dl> </div> <!-- 日本 韩国 --> <div class="menu" data-n="rh_icon"> <dl> <dt>日本</dt> <dd> <a href="">东京</a> <a href="">大阪</a> <a href="">冲绳</a> <a href="">北海道</a> <a href="">札幌</a> <a href="">京都</a> <a href="">名古屋</a> <a href="">福冈</a> <a href="">长崎</a> <a href="">鹿儿岛</a> <a href="">JR</a> <a href="">Pass</a> <a href="">米其林餐厅</a> <a href="">东京迪士尼</a> <a href="">大阪环球影城</a> <a href="">冲绳一日游</a> <a href="">City</a> <a href="">Walk</a> <a href="">西瓜卡</a> <a href="">京都日游</a> <a href="">和服体验</a> <a href="">包车服务</a> <a href="">富士山日游</a> </dd> </dl> </div> <!-- 东南亚 --> <div class="menu" data-n="dny_icon"> <dl> <dt>泰新马</dt> <dd> <a href="">普吉岛</a> <a href="">清迈</a> <a href="">曼谷</a> <a href="">苏梅岛</a> <a href="">甲米</a> <a href="">芭堤雅</a> <a href="">拜县</a> <a href="">新加坡</a> <a href="">马来西亚</a> <a href="">沙巴</a> <a href="">吉隆坡</a> <a href="">皇帝岛</a> <a href="">泰国人妖</a> <a href="">泰国丛林飞跃</a> <a href="">泰国spa按摩</a> <a href="">清迈夜间动物园</a> <a href="">泰拳表演清莱一日游</a> <a href="">新加坡环球影城</a> <a href="">新加坡日游</a> <a href="">新加坡滨海湾花园</a> <a href="">沙巴美人鱼岛</a> <a href="">沙巴红树林萤火虫</a> </dd> </dl> <dl> <dt>东南亚</dt> <dd> <a href="">巴厘岛</a> <a href="">长滩岛</a> <a href="">马尼拉</a> <a href="">薄荷岛</a> <a href="">美娜多芽庄</a> <a href="">岘港</a> <a href="">富国岛</a> <a href="">柬埔寨</a> <a href="">缅甸</a> <a href="">老挝</a> <a href="">文莱</a> <a href="">蓝梦岛</a> <a href="">巴厘岛SPA</a> <a href="">网红漂浮下午茶</a> <a href="">珍珠岛游乐园</a> <a href="">富国岛浮潜海钓</a> <a href="">吴哥窟</a> <a href="">西哈努克</a> </dd> </dl> <dl> <dt>西亚</dt> <dd> <a href="">马尔代夫</a> <a href="">斯里兰卡</a> <a href="">印度</a> <a href="">尼泊尔</a> <a href="">格鲁吉亚阿塞拜疆</a> <a href="">亚美尼亚</a> </dd> </dl> </div> <!-- 欧洲美洲 --> <div class="menu" data-n="om_icon"> <dl> <dt>欧洲</dt> <dd> <a href="">法国</a> <a href="">意大利</a> <a href="">土耳其</a> <a href="">俄罗斯</a> <a href="">西班牙</a> <a href="">瑞士</a> <a href="">英国</a> <a href="">希腊</a> <a href="">荷兰</a> <a href="">德国</a> <a href="">捷克</a> <a href="">葡萄牙</a> <a href="">奥地利</a> <a href="">瑞典</a> <a href="">丹麦</a> <a href="">挪威</a> <a href="">冰岛</a> <a href="">芬兰</a> <a href="">罗瓦涅米</a> <a href="">奥斯陆</a> <a href="">雷克雅未克</a> <a href="">因特拉肯</a> <a href="">巴塞罗那</a> <a href="">伦敦</a> <a href="">巴黎</a> <a href="">塞纳河</a> <a href="">慕尼黑</a> <a href="">普罗旺斯</a> <a href="">温莎日游</a> <a href="">巴黎迪斯尼</a> <a href="">伊斯坦布</a> <a href="">尔阿尔罕布拉宫</a> <a href="">唐顿庄园</a> <a href="">埃菲尔铁塔</a> <a href="">凡尔赛宫</a> <a href="">北欧破冰船</a> <a href="">极光之旅</a> <a href="">英国天空岛</a> </dd> </dl> <dl> <dt>美洲</dt> <dd> <a href="">美国</a> <a href="">加拿大</a> <a href="">墨西哥</a> <a href="">巴西</a> <a href="">阿根廷</a> <a href="">智利</a> <a href="">秘鲁</a> <a href="">玻利维亚</a> <a href="">洛杉矶</a> <a href="">纽约</a> <a href="">拉斯维加斯</a> <a href="">旧金山</a> <a href="">圣地亚哥芝加哥</a> <a href="">西雅图</a> <a href="">华盛顿</a> <a href="">奥兰多</a> <a href="">夏威夷</a> <a href="">塞班岛</a> <a href="">关岛</a> <a href="">环球影城</a> <a href="">迪士尼</a> <a href="">演出票</a> <a href="">尼亚加拉大瀑布</a> <a href="">帝国大厦</a> <a href="">奥特莱斯</a> <a href="">黄石国家公园</a> <a href="">纽约大都会博物馆</a> <a href="">美国大峡谷西峡</a> <a href="">拉斯维加斯摩天轮</a> <a href="">羚羊峡谷</a> <a href="">马蹄湾</a> </dd> </dl> </div> <!-- 澳新中东非 --> <div class="menu" data-n="ax_icon"> <dl> <dt>澳新 南太平洋</dt> <dd> <a href="">墨尔本</a> <a href="">悉尼</a> <a href="">黄金海岸</a> <a href="">凯恩斯</a> <a href="">布里斯班奥克兰</a> <a href="">斐济</a> <a href="">珀斯</a> <a href="">圣灵群岛</a> <a href="">大堡礁</a> <a href="">墨尔本之星</a> <a href="">悉尼热气球</a> <a href="">水上飞机</a> <a href="">海港大桥</a> <a href="">皇后镇霍比特人村</a> <a href="">怀托莫萤火虫洞</a> <a href="">米尔福德峡湾</a> <a href="">新西兰滑雪</a> <a href="">瓦纳卡</a> <a href=""></a> </dd> </dl> <dl> <dt>中东非</dt> <dd> <a href="">迪拜</a> <a href="">摩洛哥</a> <a href="">毛里求斯</a> <a href="">埃及</a> <a href="">塞舌尔</a> <a href="">马达加斯加</a> <a href="">以色列</a> <a href="">肯尼亚</a> <a href="">南非</a> <a href="">伊朗</a> <a href="">约旦</a> <a href="">突尼斯</a> <a href="">迪拜</a> <a href="">塔法拉利主题公园</a> <a href="">迪拜七星帆船酒店用餐</a> <a href="">夜游迪拜河</a> <a href="">亚特兰蒂斯水上乐园</a> <a href="">动物大迁徙</a> <a href="">撒哈拉沙漠</a> <a href="">金字塔</a> <a href="">纳米比亚</a> </dd> </dl> </div> </div> </nav>
相关代码:
css .banner .center_wrap .banner_nav{ height: 100%; width: 652px; position: relative; } .banner .center_wrap .banner_nav ul{ height: 100%; } .banner .center_wrap .banner_nav>ul>li{ height: 16.66%; width: 296px; background: #1C1F21; opacity: 0.5; position: relative; border-bottom: 1px solid #9e9e9e; /* box-sizing: border-box属性的作用就让height属性时盒子的总高度 在盒子高度是百分比写的 就要盒子高度边框涵盖在height里面 */ box-sizing: border-box; } .banner .center_wrap .banner_nav>ul>li:last-child{ border-bottom: none; } /* 左右按钮 */ .banner .center_wrap .left_btn{ position: absolute; left: -38px; top: 50%; width: 28px; height: 44px; background:url("../images/icons.png") no-repeat -21px -94px; margin-top: -22px; } .banner .center_wrap .right_btn{ position: absolute; right: -38px; top: 50%; width: 28px; height: 44px; background:url("../images/icons.png") no-repeat -21px -29px; margin-top: -22px; } .banner .center_wrap .left_btn:hover , .banner .center_wrap .right_btn:hover{ opacity: 0.5; } /* 背景图片上的文字 */ .banner .center_wrap .banner_nav>ul>li dl{ position: absolute; height: 48px; top: 50%; margin-top: -24px; padding-left: 42px; color: white; cursor: pointer; } .banner .center_wrap .banner_nav>ul>li dl dt{ font-size: 18px; margin-bottom: 8px; } .banner .center_wrap .banner_nav>ul>li dl dd a{ font-size: 16px; color:white; } .banner .center_wrap .banner_nav>ul>li dl dd a:hover{ color: orange; } /* 图标 */ .banner .center_wrap .banner_nav>ul>li::before{ content: '' ; position: absolute; width: 40px; height: 40px; /* background-color: orange; */ top: 10px ; left: 10px; background-image: url("../images/icons.png"); } /* 热门出发地 */ .banner .center_wrap .banner_nav>ul>li.rmcfd_icon::before{ background-position: -28px -381px; } /* 港澳台 */ .banner .center_wrap .banner_nav>ul>li.gat_icon::before{ background-position: -25px -199px; } /* 日本 韩国 */ .banner .center_wrap .banner_nav>ul>li.rh_icon::before{ background-position: -24px -154px; } /* 东南亚 */ .banner .center_wrap .banner_nav>ul>li.dny_icon::before{ background-position: -24px -247px; } /* 欧美 */ .banner .center_wrap .banner_nav>ul>li.om_icon::before{ background-position: -24px -334px; } /* 澳新 */ .banner .center_wrap .banner_nav>ul>li.ax_icon::before{ background-position: -24px -289px; } .banner .center_wrap .banner_nav .menu_box .menu{ position: absolute; left: 296px; top: 0; width: 356px; height: 100%; background-color: #1C1F21; opacity: 0.7; padding: 16px; box-sizing: border-box; display: none; } .banner .center_wrap .banner_nav .menu_box .current{ display: block; opacity: 0.5; } .banner .center_wrap .banner_nav>.menu_box .menu dl{ margin-bottom: 12px; } .banner .center_wrap .banner_nav>.menu_box .menu dl dt{ line-height: 30px; font-size: 16px; font-weight: bold; padding-bottom: 4px; color: white; } .banner .center_wrap .banner_nav>.menu_box .menu dl dd{ font-size: 14px; line-height: 22px; } .banner .center_wrap .banner_nav>.menu_box .menu dl dd a{ padding-right: 10px; color: white; } .banner .center_wrap .banner_nav>.menu_box .menu a:hover{ color: gold; }
相关代码:
js (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'); // 根据一级菜单获取对应得二级菜单 var theMenu=document.querySelector('.menu_box .menu[data-n='+n+']'); e.target.className+=' current'; // 排他操作 让所有的盒子都去掉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
同学你好,解答如下:
1、鼠标移入一级菜单,之所以没有高亮显示,是因为css中没有设置样式。老师添加了如下样式,就可以了:
2、鼠标在一级菜单上移动时,需要先将一级菜单所有项的current类名去掉,再给当前项添加current。因此代码需要添加如下内容:
祝学习愉快!
相似问题