2015-01-20 4 views
-1

div가 있습니다. 처음에는 해당 div 위에 숫자가 표시됩니다. div를 가리키면 숫자가 숨기고 단락이 표시됩니다. 마우스를 가져 가면 단락이 숨겨지고 숫자가 다시 표시됩니다.CSS 표시 속성이 작동하지 않습니다.

저는 CSS (display : none 및 display : 블록) 및 jquery (show() 및 hide())를 사용하여이 작업을 수행하려고했습니다. 둘 다 작동하지만 항상 그런 것은 아닙니다. 때로는 숫자와 단락이 모두 사라지고 페이지를 새로 고쳐야 만 다시 되돌릴 수 있습니다. Chrome에서 다른 브라우저보다 잘 작동하지만 Chrome에서도 항상 작동하지는 않습니다.

페이지는 온라인 here이므로 직접 시도 할 수 있습니다.

그리고 코드는 다음과 같습니다

div h2 { 
    display: block; 
} 

div:hover h2 { 
    display: none; 
} 

div p { 
    display: none; 
} 

div:hover p { 
    display: block; 
} 

누구든지 내가이 문제를 해결할 수있는 방법을 알고?

+2

[A, 최소 완벽한하고 검증 예를 만드는 방법 (http://stackoverflow.com/help/mcve)에 대해 Z .temp 인덱스를 정의 시도 – melancia

+0

* , h2 및 p. 왜 그것이 작동해서는 안되는 다른 이유는 보이지 않습니다. Firefox와 Chrome에서 모두 작동합니다. –

+0

@MelanciaUK에 감사드립니다. 몇 가지 코드를 추가했습니다. –

답변

0

간단한 프로그램 :

<div id="testDiv"> 
    <p class="num">1</p> 
    <p class="para" class="invisible">Lorem Ipsum</p> 
</div> 

<style> 
    .invisible { 
    display: none; 
    } 
</style> 

<script> 
$(function() { 
    $('#testDiv').on('mouseover', function() { 
     if($(this).find(".para").hasClass("invisible")) { 
      $(this).find(".para").removeClass("invisible"); 
      $(this).find(".num").addClass("invisible"); 
     } 
     else { 
      $(this).find(".para").addClass("invisible"); 
      $(this).find(".num").removeClass("invisible"); 
     } 
    }); 
    }); 
</script> 
+0

JS가 실행에 실패 할 수 있기 때문에 JS가 좋지 않습니다. CSS 솔루션이 더 좋습니다. –

+0

^실행에 실패한 이유는 무엇입니까? o.O – mehulmpt

+0

"...해야한다고 생각하는 시점에 실행에 실패 할 수 있습니다." 브라우저는 특정 시간에 JS 코드를 실행할 필요가 없으므로이를 연기 할 수 있으므로 예기치 않은 결과가 발생할 수 있습니다. –

관련 문제