2012-07-04 4 views
-1

현재 가지고있는 코드는 다음과 같습니다.동적으로 추가 된 새로운 요소에 애니메이션 적용

function update(){ 
    latest_id = $('#image:first').data('position'); /* == 12 */ 
    $.ajax({ 
     type: "POST", 
     url: "../web/update/" + latest_id + "", 
     success: function(data) { 
      $('#my_like').after(data); 
      $('.newly-added').animate({"margin-left": "+=66px"}, "fast"); 
     }, 
     error: function(response) { 
      alert("failed"); 
     }, 
    }); 
} 

setInterval(function() { 
    update(); 
}, 4000); 

그러나 요소가 새로 추가되었으므로 새로운 애니메이션 부분을받지 못합니다. 나는 약간의 연구를했고 .live를 발견했다. 그러나 그것은 시작하는 무엇인가 (예를 들면 클릭)를 필요로한다.

+0

컨텍스트를 조금 제공 할 수 있습니까? '.newly-added' 란 무엇입니까? 그 부분은 AJAX 반환'데이터'의 일부입니까? 그렇다면 현재 애니메이션 코드가 작동하지 않는 이유는 알지 못합니다. 애니메이트하는 요소가 DOM에 추가 된 후에'animate' 함수를 호출해야합니다. – Cecchi

+0

죄송합니다. 반환 된 데이터는 새로 추가 된 클래스가있는 이미지입니다. – Harry

+0

JsFiddle (아약스가 아닐지 모르지만 응답이나 뭔가 위조가 아님)을 함께 사용하거나 페이지가 도움이 될 것입니다. 또한'.animate()'바로 앞에'console.log ($ ('새로 추가 된'))'를 호출하여 실제로 DOM에 있는지 확인하십시오. – Cecchi

답변

0

수정 됨, 포함 된 jquery에 문제가 발생했습니다.

관련 문제