2009-03-28 4 views
8

내가 어도비 AIR에서 일하고 있어요, 내가 클릭에 숨겨진 사업부의 각 목록 항목에 대한 정보를 확장 보여 div의 목록이 - 그래서 같은 :jQuery Toggle - 어떤 것을 숨기거나 표시하는지 알 수있는 방법은 무엇입니까?

$(this).click(function(){ 
$(this).next('div.info').toggle(); 
}); 

이 전체의 높이를 확장을 app을 사용하면 사용자가 모든 div를 확장 할 경우 화면에 스크롤바가 생깁니다. 이 문제를 해결하기 위해 창의 높이를 조정하고 싶습니다. .toggle 함수를 사용하여 숨기기 또는 표시 할 효과를 확인하는 방법을 알아낼 수 없다는 점을 제외하고는 모든 코드가 작동합니다. 클릭 할 때 바로 div를 평가하기 때문에 if() 문을 info div의 끝 상태를 키로 설정하면 작동하지 않습니다.

jQuery에서 적용되는 .toggle을 알기 위해 상태 변경을 사용하여 다른 변경 사항을 적용 할 수있는 방법이 있습니까?

답변

11

후에는 사업부가 교체 된 알 수 있습니다

var visible = $(this).next('div.info').toggle().is(":visible"); 
if(visible){ 
    alert("Hey! I've just showed up here!"); 
} 

최근의 전환 작업이 나타났다 있는지 알 수 있습니다 그 방법을 div 또는 아닙니다.

+0

.is ('visible')이 * * visible이라는 태그와 일치하기 때문에 작동하지 않습니다. 대신 ': visible'CSS 유사 셀렉터를 사용해야합니다. –

+0

@mgood 오타입니다. 지금 수정 됨, thanks :) – Seb

+2

.toggle ('slow')을 사용하면이 기능이 작동하지 않습니다. – exiang

7

당신은 이것을 테스트 할 수 있습니다 : 토글이 완료

if ($(selector).is(':visible')) { 
    // do something 
} 
관련 문제