在AJAX加载后重新运行jQuery

时间:2012-01-13 21:59:21

标签: 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})

});

这在firstload上运行所需的项目。但是脚本可能需要使用AJAX加载新项目。加载新项目后再次运行此代码的最佳方法是什么?

感谢。

1 个答案:

答案 0 :(得分: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})

  });
}
相关问题