2012-12-17 6 views
0

마우스를 가져 가면 dom 요소를 숨기려고합니다. 나는 그것 밑에 div thats를 보여주고 싶다. 문제는 첫 번째 요소가 숨겨지면 jquery가 더 이상 호버를 보지 않고 호버 div를 다시 가져 오는 것입니다. 그래서 div는 정말로 빨리 토글됩니다.마우스를 가져 가면 마우스가 jquery로 dom 요소를 숨 깁니다.

마우스가 divs 영역 밖에있을 때 "앞"을 원합니다.

<div class="blockLong front" ></div> 
<div class="blockLong"></div> 

div의

는 절대 위치와 eatchother 위에 배치하고이 JQuery와입니다

같은 크기 있습니다 : 일관성을 위해

$('.front').hover(function() 
{ 
    $(this).hide(); 
}); 

$('.front').mouseout(function() 
{ 
    $(this).show(); 
}); 
+1

대신 불투명도를 0으로 애니메이션합니다. – Shmiddty

+0

0으로 불투명하지 않고 완전히 숨기고 싶습니다. – user1386906

+0

왜 -1, 내 질문에 뭐가 잘못 됐나요? – user1386906

답변

1

에게, 당신은 hover 독점적으로 사용해야합니다

$('.front').hover(function(){ 
    $(this).fadeTo(500,0); 
}, function() { 
    $(this).fadeTo(500,1); 
}); 

이것은 효과적으로 각 o에 대한 처리기를 추가하는 것입니다. f mouseentermouseleave입니다. 당신이 mouseleave 이벤트가 발생했을 때 반환하는 DIV를 원하지 않는 경우

, 당신이 시도 할 수 :

$('.front').mouseenter(function(){ 
    $(this).fadeOut(500); 
}); 

$('blockLong:not(.front)').mouseleave(function(){ 
    $('.front').fadeIn(500); 
}) 
+0

0으로 불투명도가 아닌 완전히 숨기려고합니다. – user1386906

+0

@ user1386906 불투명도를 0으로 설정하면 *가 완전히 보이지 않습니다. –

+0

예, 그 보이지 않는,하지만 divs에 링크가있을 때 나는 그들을 클릭 할 수 없습니다. – user1386906

0

이 시도 :

$('.front').hover(function() 
{ 
    $(this).hide(); 
}); 

$('.back').mouseout(function() 
{ 
    $(".blockLong.front").show(); 
}); 

<div class="blockLong front"></div> 
<div class="blockLong back"></div> 

JS

+0

당신의 anwser를위한 thx, 그러나 나는이 많은 블록을 가지고 있습니다. 나는 스스로 anwser를 발견했다 – user1386906

+0

@ user1386906 장래에 당신의 질문을 더 철저히 설명해야한다. – Shmiddty

-1

이것은 내가 한 일입니다.

<div class="blockLong back"></div> 
<div class="blockLong front"></div> 


$('.front').hover(function() 
{ 
    $(this).hide(); 
}); 

$('.back').mouseout(function() 
{ 
    $(this).next().show(); 
}); 
+0

왜 최소 하나? – user1386906

+0

이 솔루션에 어떤 문제가 있습니까? – user1386906

관련 문제