하위 탐색을 만들려고합니다. 지금 나는 두 subnav 있습니다. 메인 메뉴의 첫 번째 항목 위로 마우스를 가져 가면 해당 하위 메뉴가 나타납니다. 하지만 두 번째 항목 위로 마우스를 가져 가면 첫 번째 항목보다 두 번째 하위 항목이 나타납니다. 어떻게 이런 일이 일어나지 않도록 코드를 작성할 수 있습니까?하위 탐색 중복을 제거하려면 어떻게해야합니까?
URL이 : http://arabic001.com
$(document).ready(function() {
$('#arbNavText01').mouseover(function() {
$('#subNav01').show('slow');
});
$('#subNav01').mouseleave(function() {
$('#subNav01').hide('slow');
});
$('#arbNavText02').mouseover(function() {
$('#subNav02').show('slow');
});
$('#subNav02').mouseleave(function() {
$('#subNav02').hide('slow');
});
})
난 그냥 스콧 아래의 제안을 시도하고 나는 보여 호버에 하위 메뉴를 숨길 수 없습니다입니다. 이 문제를 해결하는 방법에 대한 아이디어가 있습니까? 여기 내 새로운 코드입니다 :
HTML
<div id="menu01" class="menu_item">
<div id="engNavText01">Alphabet</div>
<div id="arbNavText01">الأحرف</div>
<div id="subNav01" style="display:none;">
<a href="colors" class="subNav">
<span style="font-size:26px; cursor:pointer;">قراءة</span</a>
<br>reading<br><br>
</div>
</div>
<div id="menu02" class="menu_item">
<div id="engNavText02">Numbers</div>
<div id="arbNavText02">الأحرف</div>
<div id="subNav02" style="display: none; ">
<a href="colors" class="subNav">
<span style="font-size:26px; cursor:pointer;">قراءة</span</a>
<br>reading<br><br>
</div>
</div>
과 JS 당신은 MouseLeave 이벤트를 만들었습니다
$(document).ready(function() {
$('.menu_item').children().hover(
function(){
$subNav = $(this).parents('menu_item').children("div[id^='subNav'");
if ($subNav.css('display', 'none')){
$subNav.show('slow');
}
},
function(){
$(this).parents('menu_item').children("div[id^='subNav'").hide('slow');
});
})
감사합니다. 그것은 완벽하게 작동합니다. 지금은 서브 바브의 나머지 부분에 대해서도 똑같이해야합니다. 나는 그들 중 8 명을 가지고 있고 코드에서 반복하고 싶지 않다. 예를 들어 클래스가 있기 때문에 그것을 작성하는 우아한 방법이 있습니까? 한 번에 하나의 하위 메뉴 만 표시하도록 요청할 수있는 곳은 어디입니까? – L1900
나는 div 파일에서 html 파일에 제안한 방식대로 그들을 찾고있었습니다. 내 코드 개선에 감사드립니다. 하지만 js 코드는 작동하지 않았습니다. – L1900