2010-03-17 6 views
4

작업 애니메이션 : ID = "페이더"와 사업부가, 클릭에 1. 한이 새로운 HTML이 나타납니다 (새 HTML과 페이더의 2. replaceHtml 페이드 아웃 브라우저의 폴드 아래) 3. 새 HTML에 애니메이션을 적용하여 지정된 위치까지 슬라이드합니다.jQuery를 페이드 아웃, replaceWith 거의 나는 다음과 같은 달성하기 위해 노력하고

1 단계와 2 단계가 작동하며 3 단계는 작동하지 않습니다. 이유는 무엇입니까? 미리 사업부는 크게 감사하겠습니다 애니메이션되지 않습니다 이유에

$("#fader").fadeOut(1000, function() { 
    $(this).replaceWith('<div id=\"fader\" style=\"margin-top:-500px;width:500px;height:400px;border:1px solid black;\">new div</div>', function() { 
    $("#fader").animate({marginTop: "500px"}); 
    }); 
}); 

어떤 생각, 감사 :

다음은 자바 스크립트입니다! 귀하의 경우 .replaceWith()

+0

@Jesse은 - 당신이, 당신이 문제를 해결 도움이 사람의 옆에 체크 표시를 클릭하여 답변을 받아 들일 수 있다면, SO 단정하고 질문에 대답 매력의 모두를 유지하는 데 도움이됩니다. –

+0

알려주세요 .. 내 FUNC 또한보십시오! .replaceWith() 및 체인에 대한 설명에 대한 ;-) –

답변

5

는이 애니메이션이 아닌 다른 서명이있어, 콜백이 없습니다.

대신보십시오 : 당신이 체인이 없습니다

$("#fader").fadeOut(1000, function() { 
    $(this).replaceWith('<div id="fader" style="margin-top:-500px;width:500px;height:400px;border:1px solid black;">new div</div>'); 
    $("#fader").animate({marginTop: "500px"}); 
}); 

참고 .replaceWith()원래 목적이 아니라 방금 만든 하나를 반환합니다.

+0

감사합니다. 귀하가 제공 한 코드 스 니펫이 작동 중입니다. 귀하의 도움에 많은 감사를드립니다! –

+0

나는 당신이 무슨 말을하는지에 대한 혼란 스러워요 : 1) .replaceWith() 콜백 기간이 없습니다; 이 경우에만 아닙니다. 내가 그것을보기 전에 자신이 코드를 수정하지 않는 한 그리고 2) 그는) (자신의 초기 코드에 아무것도 체인되지 않았습니다. 체인 연결은'$ ('. 클래스')와 같습니다. replaceWith ('

') .fadeIn();'또는 잘못 되었습니까? – dclowd9901

+0

@ dclowd9901 -'$ ("fader")에서'$ ("# fader")'를 제거한 경우 animate ({marginTop : "500px"}); '그러면 정상적으로 작동하지 않습니다. 동일한 선택기로 단축 할 수 있습니다.이 경우 선택기를 제거하면 작동하지 않으므로 최적화를 시도하지 마십시오. –

관련 문제