即使jquery语句失败也执行回调

时间:2011-07-18 14:41:47

标签: jquery callback execution

我有一个jquery语句如下:

$('.panel.col2, .panel.col3').fadeOut('fast', function(){
    //SOME CODE
});

问题是这些元素并不总是存在,我需要它来执行回调而不管回调所属的语句是否成功。这有什么解决方法吗?

2 个答案:

答案 0 :(得分:1)

听起来你想要一些代码在fadeOut和外面的回调中运行,如果它们没有淡出的元素。这是一个想法,但我不知道你想要做什么的背景。

$(document).ready (function () {
  var panelElement = $('.panel.col2, .panel.col3');
  var fadeOutCallBack = function(){
    //SOME CODE
  };
  panelElement.fadeOut('fast', fadeOutCallBack);
  if (panelElement.length == 0) {
    fadeOutCallBack();
  }
});

答案 1 :(得分:1)

尝试这样的事情:

function myCallback(){
   //SOME CODE
}

if($('.panel.col2, .panel.col3').length>0){

   $('.panel.col2, .panel.col3').fadeOut('fast', function(){
       myCallback();
   });
} else {
   myCallback();
}