Stefan
Stefan

Reputation: 1905

Stop ScrollTop function when user scrolls jquery

How can i stop the scrollTop function when the user scrolls himself? If i scroll now while the scrollTop function the whole scrolling glitches out.

        $(document).ready(function (){
            $(".header-arrow-down").click(function (){
                $('html, body').animate({
                    scrollTop: $(".page-1").offset().top
                }, 1000);
            });
            $("body").scroll(function() {
                alert("scrolling");
            });
        });

I tried this so far but the alert scrolling isnt showing up for me and i can't find a solution on google so im asking it here.

I hope someone knows how to fix this thanks!

Upvotes: 3

Views: 5222

Answers (2)

Daan
Daan

Reputation: 2799

Hey I just wrote that code today for a project I'm working on:

$('body,html').bind('scroll mousedown wheel DOMMouseScroll mousewheel keyup', function(e){
    if (e.which > 0 || e.type == "mousedown" || e.type == "mousewheel"){
    $("html,body").stop();
    }
});

Upvotes: 2

john Smith
john Smith

Reputation: 17926

you need to unbind or stop the animation when user scrolls, sth like

$("html, body").bind("scroll mousedown DOMMouseScroll mousewheel keyup", function(){
    $('html, body').stop();
});

Upvotes: 7

Related Questions