JQuery Stop () метод для анимации - PullRequest
0 голосов
/ 26 ноября 2011

Мне нужен способ остановить анимацию, которая запускается на mouse enter() в его дорожках, если mouse leave().На данный момент этот код означает, что если пользователь прокручивает и быстро выполняет прокрутку, анимация завершит анимацию mouse enter(), а затем выполнит функцию mouse leave() по порядку, а не остановит ее на своем пути при отпускании мыши и оживит оттуда.

Я считаю, что это можно сделать с помощью функции stop(), но я не знаю, как ее использовать.

$(".featuredslider a").mouseenter(function(){
        $(this).stop();
        $(this).find('.smallcont').animate({opacity:0},400);
        $(this).find('.bigcont').animate({opacity:1},400);
    });
    $(".featuredslider a").mouseleave(function(){
        $(this).stop();
        $(this).find('.smallcont').animate({opacity:1},400);
        $(this).find('.bigcont').animate({opacity:0},400);
    });

1 Ответ

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

Документация здесь

Но это довольно просто, я думаю, вы хотите что-то вроде:

$(".featuredslider a").mouseenter(function(){
    $(this).find('.smallcont').stop().animate({opacity:0},400);
    $(this).find('.bigcont').stop().animate({opacity:1},400);
});
$(".featuredslider a").mouseleave(function(){
    $(this).find('.smallcont').stop().animate({opacity:1},400);
    $(this).find('.bigcont').stop().animate({opacity:0},400);
});

Это остановит любую анимацию, уже запущенную на каждом объектезатем запустите функцию animate() после stop()

...