2013-04-17 3 views
0

슬라이더가 hover() 인 메뉴가 나타납니다. 나는이 슬라이더를 보여줍니다이호버업 메뉴에서 슬라이드 및 슬라이딩 다운

$(".menu2").hover(function() 
{ 
$(".slider").slideDown(500); 
    $(".slider").css('display','block');  
}, 
    function() { 
    $(".slider").slideUp(500);  
//$('.slider').css("display","none"); 

}); 

처럼 작성했습니다. (I 잘보고 slideDown()slideUp()를 사용하려면). cursor을 슬라이더로 이동하면 display:none 상태로 돌아갑니다. 그래서 내가 menu에서 내 커서를 이동 한 후 display:none 상태로이 내 슬라이더를 설정이

$(".sliderHolder").hover(function() 
{ 
    $(".slider").css('display','block');    
}, 
    function() { 

$(".slider").slideUp(500); 

}); 

}); 

을 시도했다. 이 작업을 수행하는 쉬운 방법이 있습니까?

+0

같은 기대하고 있습니까? 그런 다음 함수가 실행될 때 지속성 값인 값을 반환 할 수 있습니다. –

답변

2

당신은 당신이하지 부울을 사용하여 데이터 속성으로에 전달할 수

http://jsfiddle.net/jUraw/1369/

 <ul id="nav"> 
     <li><a href="home.html"><span>M</span>enu</a> 
      <ul> 
       <li><a href="fashion.html"><span>F</span>ashion</a></li> 
       <li><a href="about-us.html"><span>A</span>bout <span>U</span>s</a></li> 
       <li><a href="find-us.html"><span>F</span>ind <span>U</span>s</a></li> 
       <li class="underline"><a href="http://www.bellissimafashions.com/blog/"><span>B</span>log</a></li> 
      </ul> 
     </li>  
    </ul> 


$(document).ready(function(){ 
    var t = null; 
    $('#nav li').hover(function(){ 
     var that = this; 
     t = setTimeout(function(){ 
      $('ul', that).slideDown(200); 
      t = null; 
     }, 300); 
    }, function(){ 
     if (t){ 
      clearTimeout(t); 
      t = null; 
     } 
     else 
      $('#nav li ul').slideUp(200); 
    }); 
}); 
+0

하위 메뉴에서 마우스를 가져 가면 오류가 있습니다. – Jhonny

+1

Jhonny http://jsfiddle.net/GwBuj/1176/ – vinothini

+0

우수 작품 vinothini 여기 비슷한 문제를 해결하고 있습니다. 버튼 태그 안에 ul이 있어야하는 대신 http://jsbin.com/iroxop/2/ (문제는 메뉴가 숨겨져 있어야하는 단추에서 어딘가로 이동하는지 여부입니다). – Jhonny