10px
패딩이 있고 content (#inner_content)
인 컨테이너 div (#content)
이 있습니다. ajax
(새로운 html은 #inner_content div
의 모든 것을 포함합니다)을 통해 새로운 내용을로드하고 # content's
html을 새 html로 바꿉니다.완료 전 실행중인 JQuery .animate() 완료 함수
이 작업을 수행하는 동안 컨테이너 높이를 애니메이션으로 새 콘텐츠의 높이에 맞게 조정하려면 div (#content)
을 입력하십시오. 그래서 오버플로를 설정했습니다 : 컨테이너 div에 대해 숨겨졌고 새로운 콘텐츠를로드 할 때 높이를 얻고 컨테이너 div에 동일한 높이로 애니메이션을 적용합니다. 모든 것이 좋은 것은 때로는 높이가 약간 더 큰 것일 수도 있습니다 ((10-20 pixels
어쩌면) 필요 이상으로 디자인에 문제가 발생합니다.
.animate()
에 완전한 기능을 넣어서 애니메이션이 완료된 후 높이가 정확하도록 컨테이너 높이 div
을 ''(auto
)로 설정합니다. 문제는 완전한 함수가 즉시 실행되고 애니메이션이 건너 뛰고 높이가 자동으로 자동으로 변하는 것입니다. 코드는 다음과 같습니다.
$("#content").html(response);
$("#content").animate({height: $("#inner_content").height()+"px"}, 300, function() {
$("#content").css({height: ''});
});
이 문제를 어떻게 해결할 수 있습니까? 애니메이션을 실행 한 다음 높이를 auto로 설정해야합니다 (div가 즉시 10-20px 짧아지기 때문에 프로 세스에 작은 틈이 생깁니다.) 그러나
300ms는 그리 많지 않습니다. 아마도 바로 그 이유가 바로 " – slash197
"이라는 오류나 경고입니다. –
음, 300ms가 "즉각"도 아닙니다. 전체 기능을 제거하면 애니메이션이 정상적으로 실행되는 것을 볼 수 있습니다. – user1444094