【发布时间】:2017-01-05 14:43:28
【问题描述】:
我更改了以下代码并将hover() 替换为on('click',...) 并删除stop(true,true)。我也试过mouseenter()。使用hover() 没问题。如何将此添加到悬停事件以进行单击事件,并且我想在mouseout() 事件中使用悬停。更改点击事件后唯一的插入符号正在工作。
菜单:
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li *ngFor="let item of _profile.menus;" class="dropdown"><a
href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
aria-haspopup="true" aria-expanded="true">{{item.caption}}<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a (click)="clk()" class="ex1">{{subitem.caption}}</a></li>
</ul>
</li>
</ul>
</div>
悬停的jQuery
jQuery(function(){
jQuery(".dropdown").hover(
function() {
jQuery('.dropdown-menu',this).stop( true, true ).fadeIn("fast");
jQuery(this).toggleClass('open');
jQuery('b',this).toggleClass("caret caret-up");
},
function() {
jQuery('.dropdown-menu', this).stop( true, true ).fadeOut("fast");
jQuery(this).toggleClass('open');
jQuery('b', this).toggleClass("caret caret-up");
});
});
改变了点击的jQuery
jQuery(function(){
jQuery(".dropdown").on('click',
function() {
jQuery('.dropdown-menu',this).fadeIn("fast");
jQuery(this).toggleClass('open');
jQuery('b',this).toggleClass("caret caret-up");
},
function() {
jQuery('.dropdown-menu', this).fadeOut("fast");
jQuery(this).toggleClass('open');
jQuery('b', this).toggleClass("caret caret-up");
});
});
CSS
a.ex1:hover, a.ex1:active {font-size: 110%;}
.dropdown-menu {
background-color: #3b5998;
opacity:.3;
-webkit-transform-origin: top;
transform-origin: top;
-webkit-animation-fill-mode: forwards;
animation-fill-mode: forwards;
-webkit-transform: scale(1, 0);
transition: all 0.3s linear;
-webkit-transition: all 0.3s linear;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
color: black;
background-color: #efefef;
}
.dropdown-menu > li > a {
color: white;
text-decoration: none;
}
.nav > li > a:hover,
.nav > li > a:focus{
color: white;
text-decoration: none;
background-color: #5872a7;
}
.nav > li >a {
color: white;
}
.nav .open>a, .nav .open>a:focus, .nav .open>a:hover {
background-color: rgba(255, 255, 255, 0.15);
border-color: #286090;
}
.navbar-brand, .navbar-nav>li>a {
text-shadow: 0 0px 0;
color: #f7fcff;
text-decoration: none;
}
.navbar-brand {
float: left;
height: 50px;
padding: 15px 15px;
font-size: 20px;
line-height: 20px;
}
.icon-bar
{
display:block;
width:22px;
height:2px;
border-radius:1px;
border:1px solid white;
}
.open > .dropdown-menu {
-webkit-transform: scale(1, 1);
transform: scale(1, 1);
opacity:1;
}
.caret-up {
width: 0;
height: 0;
border-left: 4px solid rgba(0, 0, 0, 0);
border-right: 4px solid rgba(0, 0, 0, 0);
border-bottom: 4px solid;
display: inline-block;
margin-left: 2px;
vertical-align: middle;
}
【问题讨论】:
-
你在 JQ 中使用 angular2 模板吗?
-
是的。我正在使用 angular2 模板。
标签: jquery css twitter-bootstrap jquery-ui