выполнить обратный вызов, даже если оператор jquery не удался - PullRequest
0 голосов
/ 18 июля 2011

У меня есть оператор jquery следующим образом:

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

Проблема состоит в том, что эти элементы не всегда существуют, и мне нужно, чтобы он выполнял обратный вызов независимо от успеха оператора, которому принадлежит обратный вызов,Есть ли обходной путь к этому?

Ответы [ 2 ]

1 голос
/ 18 июля 2011

Попробуйте что-то вроде этого:

function myCallback(){
   //SOME CODE
}

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

   $('.panel.col2, .panel.col3').fadeOut('fast', function(){
       myCallback();
   });
} else {
   myCallback();
}
1 голос
/ 18 июля 2011

Звучит так, как будто вы хотите, чтобы какой-то код выполнялся при обратном вызове для fadeOut и снаружи, если их элементы не исчезают.Вот идея, но я не знаю контекст того, что вы пытаетесь сделать.

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