2012-05-25 7 views
0

<p> 태그를 마우스로 가리면 표시되지만 내 코드는 p 태그를 숨기고 다시 표시하지 않습니다. 이유는 무엇입니까?jquery : 숨기기 및 표시 방법

<html> 
    <head> 
<script type="text/javascript" src="jquery.js"></script> 
<script> 
    $(function(){ 
    $("#mouse").mouseover(function(){ 
     if($(this).is(':hidden')){ 
     $(this).show("normal"); 
     } 
     else{ 
     $(this).hide("slow"); 
     } 
    }); 
    }); 
</script> 
    </head> 
    <body bgcolor="white"> 
    <p id="mouse"> 
    test 
    </p> 
</body> 
</html> 
+0

는 대신 쇼의 토글 기능을 사용하고 당신이 그것을 보여주고 싶은 않는 경우 – Vimalnath

+0

을 숨기고, 당신이 원하는 않는 경우를 숨길 수 있을까? 거기에없는 무언가를 마우스 오버하는 것은 매우 어렵습니다. 불가능 해, 사실, 나는 의심한다. 당신은 정말로 무엇을 성취하려고합니까? –

답변

4

숨겨진 p에 마우스 오버 이벤트가 없으므로.

+0

$ ("# mouse"). mouseover (#mouse가 숨겨진 후에 function()가 작동하지 않음 – remy

+0

div가 display : none으로 숨겨져 있고 CSS-hover 속성으로 숨김 상태 인 경우 Mouseover 이벤트가 작동하지 않습니다. 왜냐하면 display : none은 div에 대한 상자를 생성하지 않기 때문입니다. workaround : visibility : hidden을 사용하십시오. 아마도 이것이 토글 동작이 다르게 동작하는 이유입니다 .. Source : http://api.jquery.com/mouseover/ –

+0

그래서 어떻게 할 수 있습니까? 새로운 jquery 프로그래머입니다. 미안하지만 가시성을 이해할 수 없습니다. Google을 사용한 후에도 숨김 – remy

1

요소가 숨겨져 있으면 이벤트를 사용할 수 없습니다. "p"를 숨기지 않고 "p"의 요소 만 감추면 더 좋을 것입니다.

<script> 
$(document).ready(function() { 
    $(".hidden").hover(function() { 
    $(".hidden span").toggle(); 
    }); 
}); 
</script> 

<p class='hidden'>please hover<span> Hide this text </span></p> 
+0

정말 고맙습니다!! – remy