[英]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时, 购买结算应该具有相同的背景信息。
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.