简体   繁体   English

锚标记:单击时打开div并单击更改bg颜色

[英]Anchor tag : Open div on click and change bg color on click

 .nav_bar { background: #c30015; margin-left: 50px; float: left; } .nav_bar ul { padding: 0; margin: 0; display: flex; border-bottom: thin white solid; } .nav_bar ul li { list-style: none; } .nav_bar ul li a { text-decoration: none; color: #ffffff; display: block; border-right: 1px solid #fff; padding: 8px 16px; } .nav_bar ul li a:hover { background: #e6b3a1; text-decoration: none; color: #c3000f; } .down_nav_bar { background: #e6b3a1; margin-left: 34px; float: left; } .down_nav_bar ul { padding: 0; margin: 0; display: flex; } .down_nav_bar ul li { list-style: none; } .down_nav_bar ul li a { text-decoration: none; color: #c3000f; display: block; padding: 8px 23px 8px 18px; } .down_nav_bar ul li a:link { text-decoration: none; } .down_nav_bar ul li a:visited { border-bottom: 2px #c3000f solid; text-decoration: none; } .down_nav_bar ul li a:hover { border-bottom: 2px #c3000f solid; text-decoration: none; } .down_nav_bar ul li a:active { border-bottom: 2px #c3000f solid; text-decoration: none; } 
 <div class="nav_bar"> <ul> <li><a href="#">Post sponsor job</a> </li> <li><a href="#">Applied KOLs</a> </li> <li><a href="#">Purchase and billing</a> </li> <li><a href="#">Account Settings</a> </li> </ul> </div> <div class="down_nav_bar"> <ul> <li><a href="#">Purchase Plan</a> </li> <li><a href="#">My account</a> </li> <li><a href="">Invoice</a> </li> <li><a href="">How to pay</a> </ul> </div> 

Hello, My doubt is When I hover on purchase billing then second navigation menu should appear to the down and purchase billing should have a the same background on clicking when we hover that li . 您好,我的疑问是,当我将鼠标悬停在购买结算上时,第二个导航菜单应该显示为向下,并且当我们悬停该li时, 购买结算应该具有相同的背景信息。

Just like 就像 在这张图片中

Any help would be great. 任何帮助都会很棒。

Thank You. 谢谢。

Try this. 尝试这个。 This snippet displays the down menu on clicking the purchase and billing link 此代码段会在点击purchase and billing链接时显示下方菜单

 $(document).ready(function(){ $('.down_nav_bar').removeClass('displayed'); $('#purchase').mouseenter(function(){ $('#purchase').addClass('newColor'); $('.down_nav_bar').addClass('displayed'); }); $('.nav_bar>ul>li:not(#purchase)').mouseenter(function(){ $('#purchase').removeClass('newColor'); $('.down_nav_bar').removeClass('displayed'); }); $('.nav_bar>ul>li').click(function(){ $('.nav_bar>ul>li').removeClass("newColor"); $(this).toggleClass('newColor'); }); }); 
 .nav_bar { background: #c30015; margin-left: 50px; float: left; } .nav_bar ul { padding: 0; margin: 0; display: flex; border-bottom: thin white solid; } .nav_bar ul li { list-style: none; } .nav_bar ul li a { text-decoration: none; color: #ffffff; display: block; border-right: 1px solid #fff; padding: 8px 16px; } .nav_bar ul li a:hover { background: #e6b3a1; text-decoration: none; color: #c3000f; } .down_nav_bar { background: #e6b3a1; margin-left: 34px; display:none; float: left; } .down_nav_bar ul { padding: 0; margin: 0; display: flex; } .down_nav_bar ul li { list-style: none; } .down_nav_bar ul li a { text-decoration: none; color: #c3000f; display: block; padding: 8px 23px 8px 18px; } .down_nav_bar ul li a:link { text-decoration: none; } .down_nav_bar ul li a:visited { border-bottom: 2px #c3000f solid; text-decoration: none; } .down_nav_bar ul li a:hover { border-bottom: 2px #c3000f solid; text-decoration: none; } .down_nav_bar ul li a:active { border-bottom: 2px #c3000f solid; text-decoration: none; } .down_nav_bar.displayed{ display:block; } .newColor{ background: #e6b3a1; color:#c3000f; } .nav_bar ul li.newColor>a{ color:#c3000f; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="nav_bar"> <ul> <li><a href="#">Post sponsor job</a> </li> <li><a href="#">Applied KOLs</a> </li> <li id="purchase"><a href="#">Purchase and billing</a> </li> <li><a href="#">Account Settings</a> </li> </ul> </div> <div class="down_nav_bar displayed"> <ul> <li><a href="#">Purchase Plan</a> </li> <li><a href="#">My account</a> </li> <li><a href="">Invoice</a> </li> <li><a href="">How to pay</a> </ul> </div> 

simply fix this with css , check it if this is what you need ? 只需用css修复此问题,检查它是否是您需要的?

 .nav_bar { background: #c30015; margin-left: 50px; float: left; } .nav_bar > ul { padding: 0; margin: 0; display: flex; border-bottom: thin white solid; position:relative; } .nav_bar ul li { list-style: none; } .nav_bar ul li a { text-decoration: none; color: #ffffff; display: block; border-right: 1px solid #fff; padding: 8px 16px; } .nav_bar ul li a:hover { background: #e6b3a1; text-decoration: none; color: #c3000f; } .nav_bar ul li a:active , .nav_bar ul li a:focus { background: #e6b3a1; text-decoration: none; color: #c3000f; } .nav_bar ul li:hover .down_nav_bar { display:block; } .down_nav_bar { background: #e6b3a1; margin-left: 34px; float: left; position:absolute !important; left:0; width:100%; display:none; padding: 0; margin: 0; } .down_nav_bar li { list-style: none; display:inline-block; } .down_nav_bar li a { text-decoration: none; color: #c3000f; display: block; padding: 8px 23px 8px 18px; } .down_nav_bar li a:link { text-decoration: none; } .down_nav_bar li a:visited { border-bottom: 2px #c3000f solid; text-decoration: none; } .down_nav_bar li a:hover { border-bottom: 2px #c3000f solid; text-decoration: none; } .down_nav_bar li a:active { border-bottom: 2px #c3000f solid; text-decoration: none; } .down_nav_bar li .active { border-bottom: 2px #c3000f solid; text-decoration: none; } 
 <div class="nav_bar"> <ul> <li><a href="#">Post sponsor job</a> </li> <li><a href="#">Applied KOLs</a> </li> <li><a href="#">Purchase and billing</a> <ul class="down_nav_bar"> <li><a href="#" class="active">Purchase Plan</a> </li> <li><a href="#">My account</a> </li> <li><a href="">Invoice</a> </li> <li><a href="">How to pay</a> </ul> </li> <li><a href="#">Account Settings</a> </li> </ul> </div> 

yes or you can do it with :target property like 是或你可以用:target属性,如

 .nav_bar { background: #c30015; margin-left: 50px; float: left; } .nav_bar > ul { padding: 0; margin: 0; display: flex; border-bottom: thin white solid; position:relative; } .nav_bar ul li { list-style: none; } .nav_bar ul li a { text-decoration: none; color: #ffffff; display: block; border-right: 1px solid #fff; padding: 8px 16px; } .nav_bar ul li a:hover, .nav_bar ul li a:focus, .nav_bar ul li a:active, #target:target { background: #e6b3a1; text-decoration: none; color: #c3000f; } .down_nav_bar { background: #e6b3a1; margin-left: 34px; float: left; position:absolute !important; left:0; width:100%; display:none; padding: 0; margin: 0; } .down_nav_bar li { list-style: none; display:inline-block; } .down_nav_bar li a { text-decoration: none; color: #c3000f; display: block; padding: 8px 23px 8px 18px; } .down_nav_bar li a:link { text-decoration: none; } .down_nav_bar li a:visited { border-bottom: 2px #c3000f solid; text-decoration: none; } .down_nav_bar li a:hover { border-bottom: 2px #c3000f solid; text-decoration: none; } .down_nav_bar li a:active { border-bottom: 2px #c3000f solid; text-decoration: none; } .down_nav_bar li .active { border-bottom: 2px #c3000f solid; text-decoration: none; } #target:target + ul { display:block; } 
 <div class="nav_bar"> <ul> <li><a href="#">Post sponsor job</a> </li> <li><a href="#">Applied KOLs</a> </li> <li><a id="target" href="#target">Purchase and billing</a> <ul class="down_nav_bar"> <li><a href="#" class="active">Purchase Plan</a> </li> <li><a href="#">My account</a> </li> <li><a href="">Invoice</a> </li> <li><a href="">How to pay</a> </ul> </li> <li><a href="#">Account Settings</a> </li> </ul> </div> 

You can do this with simply with jquery/javascript. 您只需使用jquery / javascript即可完成此操作。 Check this out. 看一下这个。

 $(document).ready(function(){ $(".nav_bar ul li").click(function(){ if($(this).text().trim()==='Purchase and billing'){ $(".down_nav_bar").show(); $(".nav_bar ul li").css('background-color', '#c30015') $(this).css('background-color', '#e6b3a1'); }else{ $(".down_nav_bar").hide(); $(".nav_bar ul li").css('background-color', '#c30015'); } }); }); 
 .nav_bar { background: #c30015; margin-left: 50px; float: left; } .nav_bar ul { padding: 0; margin: 0; display: flex; border-bottom: thin white solid; } .nav_bar ul li { list-style: none; } .nav_bar ul li a { text-decoration: none; color: #ffffff; display: block; border-right: 1px solid #fff; padding: 8px 16px; } .nav_bar ul li a:hover { background: #e6b3a1; text-decoration: none; color: #c3000f; } .down_nav_bar { background: #e6b3a1; margin-left: 34px; float: left; } .down_nav_bar ul { padding: 0; margin: 0; display: flex; } .down_nav_bar ul li { list-style: none; } .down_nav_bar ul li a { text-decoration: none; color: #c3000f; display: block; padding: 8px 23px 8px 18px; } .down_nav_bar ul li a:link { text-decoration: none; } .down_nav_bar ul li a:visited { border-bottom: 2px #c3000f solid; text-decoration: none; } .down_nav_bar ul li a:hover { border-bottom: 2px #c3000f solid; text-decoration: none; } .down_nav_bar ul li a:active { border-bottom: 2px #c3000f solid; text-decoration: none; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="nav_bar"> <ul> <li><a href="#">Post sponsor job</a> </li> <li><a href="#">Applied KOLs</a> </li> <li><a href="#">Purchase and billing</a> </li> <li><a href="#">Account Settings</a> </li> </ul> </div> <div class="down_nav_bar" style="display:none"> <ul> <li><a href="#">Purchase Plan</a> </li> <li><a href="#">My account</a> </li> <li><a href="">Invoice</a> </li> <li><a href="">How to pay</a> </ul> </div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM