下拉打开时如何使链接处于活动状态?

Posted

技术标签:

【中文标题】下拉打开时如何使链接处于活动状态?【英文标题】:How to make a link active when dropdown opens? 【发布时间】:2017-12-02 17:25:40 【问题描述】:

在引导导航栏中,如何激活导航链接 (只需更改导航链接的背景颜色) 当导航链接的相应下拉菜单打开时 或下拉菜单链接悬停? 我尝试了以下代码

$('ul.nav li.dropdown').hover(function() 
  $(this).find('.dropdown-menu').stop(true, true).delay(50).fadeIn(50);
	, function() 
  $(this).find('.dropdown-menu').stop(true, true).delay(50).fadeOut(50);
);
.navbar-nav li a
  color: #000;
  text-transform: uppercase;
  padding: 13px 10px;
  text-align: center;

.navbar-nav li a:hover
  background-color: #238500;
  color: #fff;

.dropdown-menu li a
  font-weight: normal !important;
  padding: 15px !important;
  color: #fff !important;
  text-transform: capitalize !important;
  text-align: left !important;

ul.dropdown-menu li a:hover
  background-color: #3c3c3c;
  color: #fff;
  background-image: none;

.dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover
	background-image: none;

ul.dropdown-menu li a:hover > .navbar-nav li a
	background-color: #238500 !important;

.dropdown-menu
  background-color: #238500;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<ul class="nav navbar-nav">
  <li class="dropdown">
    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Education</a>
    <ul class="dropdown-menu">
      <li><a href="#">Goals and Objectives</a></li>
      <li><a href="#">Governing priciples</a></li>
      <li><a href="#">Board of directors</a></li>
    </ul>
  </li>
</ul>

【问题讨论】:

【参考方案1】:

试试这个:

$('ul.nav li.dropdown').hover(function() 
  $(this).find('.dropdown-menu').stop(true, true).delay(50).fadeIn(50);
  $(this).addClass("hover");
	, function() 
  $(this).find('.dropdown-menu').stop(true, true).delay(50).fadeOut(50);
  $(this).removeClass("hover");
);
.navbar-nav li a
  color: #000;
  text-transform: uppercase;
  padding: 13px 10px;
  text-align: center;

.navbar-nav li a:hover
  background-color: #238500;
  color: #fff;

.dropdown-menu li a
  font-weight: normal !important;
  padding: 15px !important;
  color: #fff !important;
  text-transform: capitalize !important;
  text-align: left !important;

ul.dropdown-menu li a:hover
  background-color: #3c3c3c;
  color: #fff;
  background-image: none;

.dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover
	background-image: none;

ul.dropdown-menu li a:hover > .navbar-nav li a
	background-color: #238500 !important;

.dropdown-menu
  background-color: #238500;


.hover 
background-color: grey;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<ul class="nav navbar-nav">
  <li class="dropdown">
    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Education</a>
    <ul class="dropdown-menu">
      <li><a href="#">Goals and Objectives</a></li>
      <li><a href="#">Governing priciples</a></li>
      <li><a href="#">Board of directors</a></li>
    </ul>
  </li>
</ul>

【讨论】:

非常感谢您的帮助,现在可以使用了 :-)【参考方案2】:

据我了解,这是你想要的吗?

.navbar-nav .open>a,
.navbar-nav .open>a:focus,
.navbar-nav .open>a:hover 
    background-color: #238500 ;
    color: #fff;

只需在您的 CSS 中添加此样式即可。

【讨论】:

感谢您的帮助 :-) 如果有帮助,您可以通过点击向上箭头@Muhammad Mohsin 来投赞成票 @viCky 没有这样的条件,它适用于所有菜单项。

以上是关于下拉打开时如何使链接处于活动状态?的主要内容,如果未能解决你的问题,请参考以下文章

如何判断颤振应用程序是不是在android中处于活动状态

如何在折叠的导航栏中默认打开 Bootstrap 3 下拉菜单

如何使访问的步骤处于活动状态?

如何使视频描述在点击时处于活动状态?

如何使新插入的表格视图单元格的文本字段处于活动状态?

React Routing:如何使选定的导航项处于活动状态?