當我將鼠標懸停在下拉菜單上時,我想要實現的是保持活動菜單項的綠色邊框可見,並且當導航欄AND下拉時,它應該消失,目前它懸停移至下拉菜單時消失。jQuery - 使用mouseleave事件觀察多個項目
當前JS處理邊界動畫:
var menu = $('.indication'),
indicator = $('<span class="indicator"></span>');
menu.append(indicator);
menu.find('.has-dropdown, .login-status').mouseenter(function() {
position_indicator($(this));
});
$('.navigation-wrapper .navi, .dropdown-wrapper').mouseleave(function() {
indicator.stop().animate({
left: 0,
width: 0
}, 150, function() {
// Animation complete
});
});
function position_indicator(el) {
var left = el.position().left + 20;
var width = el.width();
indicator.stop().animate({
left: left,
width: width
}, 150, function() {
// Animation complete
});
}
此代碼工作的.navigation-wrapper .navi
和邊界消失,因爲它應該在mouseleave
,但我也想保持邊境時,有主動懸停在.dropdown-wrapper
之上。我試過這種方法How to detect mouseleave() on two elements at once?,但我無法弄清楚如何使它在我的情況下工作。
相關HTML:
<div class="navi-wrapper">
<nav class="row navigation">
<div class="navigation-wrapper indication">
<ul class="navi">
<li class="has-dropdown">
<a href="#1">
<span class="content">
Telefoni <span>& naprave</span>
</span>
</a>
</li>
<li class="has-dropdown">
<a href="#2">
<span class="content">
Paketi <span>& storitve</span>
</span>
</a>
</li>
<li class="has-dropdown">
<a href="#3">
<span class="content">
Internet <span>& omrežje</span></span>
</span>
</a>
</li>
<li class="has-dropdown secondary help pull-right">
<a href="#4">
<i class="icon-question"></i>
<span class="content">
Pomoč <span>& informacije</span>
</span>
</a>
</li>
<li class="login-status secondary main pull-right">
<a href="#">
<i class="icon-person"></i>
<span class="content">
Moj A1<span class="mobile-small">Neprijavljen</span>
</span>
</a>
</li>
</ul>
</div>
</nav>
</div>
<div class="dropdown-wrapper">
<ul id="1" class="dropdown">
...
</ul>
<ul id="2" class="dropdown">
...
</ul>
<ul id="3" class="dropdown">
...
</ul>
<ul id="4" class="dropdown">
...
</ul>
</div>
請按照[mcve] – charlietfl
顯示相關的html結構知道我錯過了一些東西,現在提供了額外的HTML。謝謝! – dTilen
@charlietfl它是如何暗示的? '。導航包裝.navi'和'.dropdown-wrapper'是兩個單獨的元素,沒有任何相關的父母 – dTilen