2012-08-11 4 views
1

특정 <div>의 표시 여부를 확인하려고하지만 내 수표에 표시되는 것으로 항상 표시됩니다. 나는 다음과 같은 코드를 사용하고 있습니다 :jquery를 사용하여 div가 표시되는지 여부 확인

if($('.stg_gall_cro_cnt').is(":visible")) { 
    var visi="yes"; 
} 
else { 
    var visi="no"; 
} 
alert(visi); 

이 검사가 실행될 때마다, 경고가 말한다 "예"를 <div>이 보이지 않는 경우에도 마찬가지입니다. 누군가 도울 수 있습니까?

visibility:hidden; 
+1

가시성이있는 요소 : 숨김 또는 불투명도 : 0은 여전히 ​​레이아웃에서 공간을 소비하기 때문에 보이는 것으로 간주됩니다. –

답변

3
if($('.stg_gall_cro_cnt').css('visibility') === 'hidden'){ 
    // hidden 
}else{ 
    // visible 
} 
+0

덕분에 많은 사람들이 친구를 찾았습니다. –

+0

안녕하세요 wanovak가 코드를 하나 더 추가 할 수 있습니까? –

+0

예, 먼저 게시하십시오. – wanovak

2

:visible 선택은 렌더링 된 문서에 어떤 공간을 차지하지 요소를 일치 :

.stg_gall_cro_cnt에 대한 CSS는 기본적으로 설정되어 있습니다. visibilityhidden으로 설정된 요소는 jQuery가 볼 수 있도록 공간을 차지합니다.

is(':visible')을 사용하여 원하는 효과를 얻으려면 display: none을 설정하고, visibility: hidden을 사용하여 달성하려면 css('visibility') == 'hidden'을 jQuery로 사용하십시오.

+0

아니요 보이는 옵션이 필요합니다 –

+0

@SakshiSharma wanovak의 답변은 요소가 공간을 차지하지만 보이지 않는지 테스트하는 방법을 보여줍니다. – Jordan

+0

기존 코드가 작동하지 않는 이유를 설명하는 +1 +1 – nbrooks

관련 문제