Я открываю свое подменю с добавлением класса раскрытия к его родителю.Чего я хочу добиться, так это когда я наведите курсор мыши на родителя, если «активное» наведение не происходит, чтобы немедленно открыть подменю, но если подменю уже отображается, подождите 1 секунду, прежде чем оно откроет новое.Я хочу это из-за «плохого» движения мыши, чтобы оно подождало, если мышь выйдет из подменю / родителя, чтобы увидеть, не вернется ли она снова через 1 секунду.
Я знаю, что существует множество похожих потоков,но я уже сделал свою попытку и сейчас не вижу, что я делаю неправильно:
$('.menu > li').hover(function() {
var ele = $(this);
if ($('.menu li.reveal').length > 0) {
var t = setTimeout(function() {
if (ele.hover()) {
$('.menu li.reveal').removeClass('reveal');
ele.addClass('reveal');
}
}, 1000);
} else {
ele.addClass('reveal');
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul class="menu">
<li>
<a href="#">Link lv1</a>
<ul class="submenu">
<li><a href="#">Link lv2</a></li>
<li><a href="#">Link lv2</a></li>
<li><a href="#">Link lv2</a></li>
</ul>
</li>
<li>
<a href="#">Link lv1</a>
<ul class="submenu">
<li><a href="#">Link lv2</a></li>
<li><a href="#">Link lv2</a></li>
<li><a href="#">Link lv2</a></li>
</ul>
</li>
<li>
<a href="#">Link lv1</a>
<ul class="submenu">
<li><a href="#">Link lv2</a></li>
<li><a href="#">Link lv2</a></li>
<li><a href="#">Link lv2</a></li>
</ul>
</li>
</ul>