私はいくつかの深い層になるメニューを作成しています。私の意図は、いくつかのネストされたULとLIの要素を使ってこの構造を作ることです。 LI要素の1つにマウスを重ねると、そのメニュー項目の次のレベルのナビゲーションが表示されます。ただし、マウスをその要素に移動しようとすると、最終的なメニュー項目の子要素が自動的に表示されます。絶対配置された要素にマウスイベントがあります
<div class="menu">
<ul>
<li><a>First</a>
<ul>
<li><a>Child of First</a></li>
<li><a>Child of First</a></li>
</ul>
</li>
<li><a>Second</a>
<ul>
<li><a>Child of Second</a></li>
<li><a>Child of Second</a></li>
</ul>
</li>
</ul>
</div>
<style>
.headerMenu ul {
list-style: none;
padding: 0;
margin: 0;
width: 50%;
background: black;
color: white;
}
.headerMenu ul ul {
position: absolute;
top: 0;
width: 0;
left: 50%;
opacity: 0;
}
.headerMenu ul ul.visibleSub {
width: 100%;
opacity: 1;
}
</style>
<script>
$(document).ready(function() {
var $ul = $('.headerMenu ul');
$ul.find('li').on({
mouseenter: function() {
$(this).find('ul').first().addClass('visibleSub');
},
mouseleave: function() {
$(this).find('ul').first().removeClass('visibleSub');
}
});
});
</script>
あなたはそれはあなたがメニューの第二層を非表示にするopacity
を使用することであるhttps://codepen.io/pcasagrande/pen/RZqQwO
これは子供の兄弟ではなく、兄弟です。 CSSだけでこの効果を達成できるはずです。 – PHPglue