fadein / fadeout проблема, попытался остановить, но не работает - PullRequest
3 голосов
/ 25 ноября 2011

Так что все, что я хочу сделать, - это исчезнуть из div и исчезнуть в другом. Когда я наведу ссылку, я хочу постепенно исчезнуть в предыдущем div и исчезнуть в соответствующем div. все работает нормально, если я не слишком быстро наведусь на ссылки. когда я парю слишком быстро, div не исчезает. Я пытался использовать stop () и пробовал различные комбинации true false в функции stop, но ничего не работает. если я изменяю таймер затухания на 0, то он работает. код, который у меня есть, слишком много, чтобы вставить его сюда, но в основном это не просто fadein / fadeout У меня есть кое-что еще, прежде чем вызывать функцию fade

вот моя функция затухания

var fadeEffect = function (a, b) {
    $(a).fadeOut(300, function () {
        $(b).fadeIn(300);
    });
} 

это частная функция внутри объекта. Я попытался использовать stop () для a и / или b, и я все еще получаю то же самое. Если я изменяю 300 на 0, он работает нормально У кого-нибудь есть идеи?

упрощенная версия здесь http://jsfiddle.net/LLMUX/9/

1 Ответ

1 голос
/ 25 ноября 2011

Я обновил ваш JSFiddle -> http://jsfiddle.net/manseuk/LLMUX/11/

Что я сделал, так это добавил остановку к анимированным элементам div, что остановит дубликаты:

   $("#vehicleSelector .vehiclesList").bind({
       mouseenter: function(event) {
          $('#vehicleSlides div, #promoSlides div').stop(true,true); // stop any running animations
           event.stopPropagation();
           sControl.timerIsOn = false;
           showSecondary(this.id)
       },
       mouseleave: function(event) {
           $('#vehicleSlides div, #promoSlides div').stop(true,true); // stop any running animations
           event.stopPropagation();
           next();
       }
   });
...