JQuery Animate - как остановить зависание, как только зависание (не завершать зависание) - PullRequest
1 голос
/ 05 ноября 2011

У меня есть область навигации по меню, где я использую .animate, чтобы скользить по тексту, когда он завис, а затем сдвигать его назад, когда завис. Я хотел бы иметь возможность немедленно остановить анимацию слайдов, как только мышь наведена на вкладку. Как я могу это сделать?

$('a.menu').hover(
    function(){
        if(!$(this).hasClass('current'))
            $(this).animate({'padding-right': '+=10'});
    },
    function(){
        if(!$(this).hasClass('current'))
            $(this).animate({'padding-right': '-=10'});
    }       
);

Ответы [ 2 ]

2 голосов
/ 05 ноября 2011

Используйте метод stop()

$('a.menu').hover(
    function(){
        if(!$(this).hasClass('current'))
            $(this).stop().animate({'padding-right': '+=10'});
    },
    function(){
        if(!$(this).hasClass('current'))
            $(this).stop().animate({'padding-right': '-=10'});
    }       
);
1 голос
/ 05 ноября 2011

Вы можете использовать метод stop , чтобы остановить анимацию, но это не будет хорошо работать с относительными значениями.Вам необходимо изменить их на абсолютные значения, чтобы не останавливать их на полпути, а затем анимировать обратно после начального значения.

...