jQuery flicker when using animate-scrollTo

前端 未结 3 1536
感情败类
感情败类 2020-12-14 15:51

I have a problem with the scrollTo function when it is called by a jQuery animate function.

Here my code:

$(\"#button\").c         


        
相关标签:
3条回答
  • 2020-12-14 16:04

    solved this problem by stopping the animation like this:

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

    found there: Jquery .animate() stop scrolling when user scrolls manually?

    0 讨论(0)
  • 2020-12-14 16:06
    <a href="#" onclick="return scrollFromTop(1400, 2000);">scroll</a>
    
    function scrollFromTop(offset, duration) {
        $('body').stop(true).animate({scrollTop: offset}, duration);
        return false;
    });
    

    had the same problem... fixed it by returning false on the click handler

    0 讨论(0)
  • 2020-12-14 16:11

    I had the same flickering problem. It was caused by the hash anchor in the link that triggers the function. Fixed it with preventDefault():

    $("#button").click(function(e){
        e.preventDefault();
        $("body").animate({scrollTop: 1400},"slow");
    });
    
    0 讨论(0)
提交回复
热议问题