2010-11-22 6 views
0

Имея проблему с одним моим скриптом. Анимация продолжает стоять в очереди. Я искал ваши форумы для решений. Я попытался остановить (true, true) и некоторые варианты этого, а также очередь: false.Проблемы очереди очереди JQuery

Возможно, я просто положил его в неправильное место, я пока не на 100% удобнее с jQuery.

Функция выглядит так на данный момент;

jQuery(document).ready(function($) { 
    $('div.wp-caption').each(function(i) { 

     var img_ = $('img', this);   
     var img_height = img_.attr('height'); 
     var p_height = $('p', this).outerHeight(); 

     $(this).height(img_height); 

     $(this).hover(function() { 
      img_.animate({marginTop : -p_height}, 500); 
     }, function() { 
      img_.animate({marginTop : '0'}, 500); 
     });     
    });  
}); 

ответ

3

stop() должен работать нормально, если вы поставите его перед .animate() метода:

$(this).hover(function() { 
    img_.stop().animate({marginTop : -p_height}, 500); 
}, function() { 
    img_.stop().animate({marginTop : '0'}, 500); 
}); 
+0

Спасибо большое, работал как шарм! – user516144

1

Try очистка очереди анимации:

  $(this).hover(function() { 
       img_.stop(true, true).animate({marginTop : -p_height}, 500); 
      }, function() { 
       img_.stop(true, true).animate({marginTop : '0'}, 500); 
      }); 

В true, true аргументы сказать JQuery, чтобы очистить очередь и перейти к концу анимации.

+0

Хороший! Это, безусловно, пригодится. =) – user516144

1

Try Положив .stop() перед .animate

$(this).hover(function() { 
    img_.stop().animate({marginTop : -p_height}, 500); 
}, function() { 
    img_.stop().animate({marginTop : '0'}, 500); 
}); 
+0

Приветствия! Благодарим за вклад. – user516144