나는 이것을 수행하는 방법을 고민하고 있습니다. 일부 jQuery UI 탭 안에 jqGrid 요소가 있습니다. 그리드가 너비 100 %를 채우는 지 확인하려면 간단한 window.resize
이벤트를 작성했습니다.jQuery.fadeIn()이 시작되었지만 꼭 마칠 필요가 없을 때까지 기다리십시오.
사용자가 단추를 클릭하면 jqGrids를 지우고 다시로드 한 다음 탭을 다시 페이드하면 여기에서 모두 작동하는 것을 볼 수 있습니다 : '다시로드'버튼을 클릭하여 작동하는지 확인하십시오).
그러나 눈금이 보이기 시작하면 바로 채우기 위해 표 크기를 조정하고 싶습니다. 탭에서 $(..).fadeIn()
을 호출 한 직후에 $(window).resize()
으로 전화를 걸면 작동하지 않습니다. 애니메이션이 아직 시작되지 않았고 그리드가 보이지 않았기 때문에 추측하고 있습니다.
페이드 효과가 시작된 직후에 window.resize
을 트리거 할 여지가 있습니까?
(나는 그것을 도울 수 있다면이 끝날 때까지 기다릴 필요하지 않습니다.)
불행하게도 이것은 정상적으로 작동하지만 실제로 fadeIn 효과를 누전시킵니다. 당신은 fadeIn 지연을 증가시킴으로써 이것을 확인할 수 있습니다 - 아무런 효과가 없습니다. – FixMaker
jsFiddle에서 일을 처리 한 순서를 수정하여 여기에서 살펴볼 수 있습니다. 기본적으로 나는 그것을 visible : false로 설정하고, 레이아웃을 업데이트하고, 숨긴 다음 페이드 인하는 작업을한다. 여기를 보아라 : http://jsfiddle.net/qvY9s/12/ –
고마워. 그러나,'.css ('visible', false)'는 실제로 필요하지 않다고 생각합니다 (jsFiddle에서 제거하면 효과가 변경되지 않습니다). 조사한 결과 실제로 유효한 CSS인지 확실하지 않습니다. '.css ('visibility ','hidden ')'문서화되어 있지만'visible '속성에 대한 언급을 찾을 수 없습니다. – FixMaker