2012-05-12 2 views
0

http://phplist.xxmn.com/menu.html어떻게하면 콘텐츠 표시 부분을 클릭 할 수 있습니까?

마우스가 탐색 메뉴 (cpanel)에있을 때. 그 아래에 해당 내용이 표시됩니다. 하지만 나는 그것에 링크를 클릭 할 수 없습니다. 그것을 얻을 수있는 방법이있다. 나는 setTimeout을 사용할 것임을 알고있다. 하지만 어떻게 해야할지 모르겠다. 고맙습니다.

top 값을 작게 변경하면 IE7 및 IE6.i에서 여전히 값을 표시 할 수 없습니다.

+0

당신은 당신이 열 메뉴를 통해이 있다면 확인을 제외한에서는 setTimeout을 사용하는 경우에만 필요가 없습니다. 나는 당신이 경험없이 바로 할 수없는 무언가이기 때문에 당신이 기존의 메뉴 코드 (구글)를 볼 것을 제안한다. –

+0

몇 가지 샘플 코드를 게시 할 수 있습니까? 이렇게하면 사이트가 고정 되어도이 질문은 앞으로의 사용자에게 유용 할 것입니다. – Jeroen

답변

0

메뉴 항목 옆에 콘텐츠 div를 더 가깝게 배치하고 표시 방법과 변경 방법을 변경해야합니다. 메뉴 mouseover에 표시하면 콘텐츠 mouseout에 숨 깁니다. 나는 이것이 가장 간단한 방법이라고 생각한다.

1

하지 좋은 방법이지만 당신을 위해 작업, 더 좋은 방법 : CSS를 사용 top = 20px :

var timeout; 

$(function(){ // = document.ready 
    $("#nav ul li").hover(function() { 
     $(this).find(".sub-menu").show(); 
     clearTimeout(timeout); 
    }, function() { 

     var timeout = setTimeout(function(){ 
      $(this).find(".sub-menu").hide(); 
     },1000); // 1000 = 1 second 
    }); 
}); 
+0

괜찮습니다. 하지만 그 내용을 빠뜨리면. 쇼 내용은 숨길 수 없습니다. 1 초 기다려야합니다. 그것을 피할 수있는 방법이 있습니까? 고맙습니다. – run

+0

@run 아니요, 메뉴 구조를 바꾸거나 공간을 제거해야합니다. 상위 20 개를 설정하면 문제가 해결됩니다. –

0
$(document).ready(function() {  
    $("#nav ul li").on('mouseenter', function() { 
     $('#nav ul li').find(".sub-menu").hide(); 
     $(this).find(".sub-menu").show(); 
    }); 

    $('.sub-menu').on('mouseleave click', function() { 
     $(this).hide(); 
    }); 
}); 
관련 문제