개발 Q&A

제목 jquery에서 is함수 :visible에 관하여
카테고리 JavaScript
글쓴이 layman 작성시각 2017/11/06 14:40:00
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 10443   RSS

현재 서브메뉴 창을 여는데에

 

서브메뉴창이 display:block; visibility:hidden;으로 되어있습니다.

 

이 창이 화면에 보여지는지 안보여지는지 검사 중인데요.

 

화면에 보이지 않을 때,

if($('selector').is(':visible')) 으로 검사하면 true로 인식하구요.

 

if($('selector').is(':hidden')) 으로 검사하면 false로 인식합니다.

 

화면에 보이지 않는데 visible -> true / hidden -> false로 인식되는게 이해가 안되네요.

그렇다고 display:block 속성을 없애면 $('selector').show();를 해도 화면에 나타나질 않구요.

 

어디가 문제인지 잘 모르겠어요.

방법이 있을까요?

 다음글 aws s3 파일다운로드 질문이요.. (2)
 이전글 rest api 질문 하나 더 드리겠습니다. (2)

댓글

kaido / 2017/11/06 15:44:42 / 추천 0

정상 인것 같습니다.

단어에서도 이미 visible 과 hidden 으로 전혀 다른 단어를 사용 중인데 

이것을 같은 검사 기준으로 보고 검사를 해서 그렇습니다.

엄연히 두개의 작동 방식은 다르기 때문입니다.

[일종의 말장난인데... 화면 표시는 show 인데 내용물은 visible 숨겨두었다 하는 말장난]

 

display 기준으로 가실거면  visible 빼고 block 인지 none 상태인지 기준으로 검사 하시면 해결되실것 같습니다.