Zadzwoń Przewiń tylko wtedy, gdy użytkownik przewija, a nie gdy animowany ()

Mam kilka linków na stronie, których celem jest „przejście na szczyt”, dzięki przewijaniu strony na górę z ładną animacją. Zauważyłem, że czasami podczas przewijania strony użytkownik będzie chciał na przykład przewinąć do tyłu, ale nie jest to możliwe. Ekran będzie się tylko zacinał, ale będzie kontynuował animację, aż osiągnie szczyt.

Chcę zatrzymać animację, jeśli użytkownik spróbuje przewinąć, dlatego napisałem ten kod:

$('#gototop').click(function() {
    $('body').animate({scrollTop:0},3000);
    $(window).scroll(function () {
        $('body').stop();
});
    return false;
})

Ten kod jest problematyczny, ponieważ animacja () liczy się jako przewijanie, dlatego porusza się tylko odrobinę, zanim się zatrzyma.

Wypróbowałem również klawisz-down jako opcję, ale przewijanie myszy nie rejestruje się jako klucz.

Czy istnieje sposób na wywołanie mojej funkcji przewijania, gdyużytkownik zwoje, a nie animacja ()?

questionAnswers(3)

yourAnswerToTheQuestion