2012-01-13 2 views
0

후 나는이 원하는 항목에 대한 firstload에서 실행되는 코드다시 실행 jQuery를 각 AJAX로드

var expired_overlay=$('.expired-overlay'); 

expired_overlay.each(function(){ 
var t=$(this), 
    p=$(this).closest('.coupon'), 
    ph=p.height()+ ((p.css('padding-top').replace("px", ""))*2); 
t.css({'width':p.width(),'height':ph,'opacity':0.5}) 

}); 

있습니다. 그러나 스크립트는 AJAX로 새로운 항목을로드해야 할 수도 있습니다. 새 항목을로드 한 후이 코드를 다시 실행하는 가장 좋은 방법은 무엇입니까?

감사합니다.

+0

ajax 내용이로드 된 후 .each 루프를 다시 실행해야합니다. 함수로 만들고 아약스 호출이 완료되면 다시 호출하십시오. :) –

답변

2

ajaxComplete 처리기를 사용해보십시오.

http://api.jquery.com/ajaxComplete/. 모든 AJAX 호출이 완료되면 트리거됩니다.

$('.log').ajaxComplete(function() { 
    SpecialFunction(); 
}); 

SpecialFunction() { 
    var expired_overlay=$('.expired-overlay'); 

    expired_overlay.each(function(){ 
    var t=$(this), 
    p=$(this).closest('.coupon'), 
    ph=p.height()+ ((p.css('padding-top').replace("px", ""))*2); 
    t.css({'width':p.width(),'height':ph,'opacity':0.5}) 

    }); 
} 
관련 문제