【发布时间】:2016-03-24 09:29:56
【问题描述】:
我已经使用 jQuery 在我的网站上实现了一个下拉菜单,它运行良好,但我想在具有子菜单的链接上放置一个箭头。问题是,一旦您将鼠标悬停在所述箭头上,因为您“技术上”不再悬停在下拉元素上,下拉菜单就会消失并再次出现。我该如何解决这个问题?
HTML:
<nav id="site-navigation" class="main-navigation top-bar" data-topbar role="navigation" style="float:right;" data-topbar>
<section class="top-bar-section">
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?>
</section>
<div class="arrow-left-1"></div>
<div class="arrow-left-2"></div>
<div class="arrow-left-3"></div>
<div class="arrow-left-4"></div>
<div class="arrow-left-5"></div>
</nav>
CSS:
.arrow-left-1, .arrow-left-2, .arrow-left-3, .arrow-left-4, .arrow-left-5 {
width: 0;
height: 0;
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
border-left: 5px solid #95020a;
position: absolute;
display: none;
z-index: 900;
}
.arrow-left-1 {
left: 58%;
top: 138%;
}
jQuery:
$('#menu-item-1837' ).hover(
function(){
$(this).children('.sub-menu').fadeIn('medium');
$('.arrow-left-1').show();
$('.arrow-left-2').show();
$('.arrow-left-3').show();
$('.arrow-left-4').show();
$('.arrow-left-5').show();
},
function(){
$(this).children('.sub-menu').fadeOut('medium');
$('.arrow-left-1').hide();
$('.arrow-left-2').hide();
$('.arrow-left-3').hide();
$('.arrow-left-4').hide();
$('.arrow-left-5').hide();
}
);
【问题讨论】:
-
顺便问一下我的朋友:看看这里css-tricks.com/examples/jQueryStop的动画排队问题:)