Javascript 滚动赢得';在scrollTop动画之后不工作

Javascript 滚动赢得';在scrollTop动画之后不工作,javascript,jquery,html,css,Javascript,Jquery,Html,Css,单击屏幕底部带有^字符的小div后,滚动动画将正常启动。 但是,在多次执行该操作后,当您尝试向下滚动时,它将持续一段时间(与您单击div的次数成比例) 有人能告诉我为什么会这样吗 HTML: 您需要jQuery的函数。这是因为动画调用是排队的 $('html,body').stop(true, false).animate(...) 特定时间是超时和动画时间堆栈。感谢您的帮助。:)我的尝试因为快速回答而白费了。无论如何,试试看:)这辆车还是有问题的。它不是一直在工作。我在旁边放了一块块的div

单击屏幕底部带有
^
字符的小div后,滚动动画将正常启动。 但是,在多次执行该操作后,当您尝试向下滚动时,它将持续一段时间(与您单击div的次数成比例)

有人能告诉我为什么会这样吗

HTML:

您需要jQuery的函数。这是因为动画调用是排队的

$('html,body').stop(true, false).animate(...)

特定时间是超时和动画时间堆栈。感谢您的帮助。:)我的尝试因为快速回答而白费了。无论如何,试试看:)这辆车还是有问题的。它不是一直在工作。我在旁边放了一块块的div,在mobile中,每行上都有一块div。当你点击其中一个时,它会展开并滚动到打开的div的顶部。当你点击几个框时,它会一直将页面拖到最后一次点击的位置。你不能呆在一个地方。我想我应该解决这个问题differently@Amjo.stop()方法的第二个参数是关于停止当前动画的。试着阅读文档,我的答案中有一个链接。Try.stop(true,true)–它应该立即跳转到动画的最终目的地。如果需要在单击时停止,可能应该记住单击时的当前滚动位置,并且在jquery跳到动画的最终位置(通过requestAnimationFrame或零超时)后,使用记住的位置手动更新滚动。应无缝工作(无可见跳跃),但需要试验。
$(window).scroll(function(){
  var st = $(window).scrollTop();
  var timeout = setTimeout(function(){
    var currentScrollTop = $(window).scrollTop();
    if(st == currentScrollTop){
      var yPosInAbsolute = window.innerHeight - 100;
      $('#goToTop').css({'top': st + yPosInAbsolute, 'right': 100});

      $('#goToTop').show();
      $('#goToTop').click(function(){
        $('html,body').animate({scrollTop: $('#test').offset().top - 50}, 2000);
        clearTimeout(timeout);
      });
    }else{
      $('#goToTop').hide();
      clearTimeout(timeout);
    }
  }, 2000);
});
$('html,body').stop(true, false).animate(...)