用鼠标滚轮停止平滑滚动

时间:2014-01-09 16:53:05

标签: javascript jquery smooth-scrolling

我有这个代码,以便在点击URL时,视图将平滑地滚动到该特定div(同一页面)。 但是,我遇到了一些问题。
所以我想点击这个URL,它现在可以顺利滚动到页面底部。但是,当我尝试使用我的鼠标滚轮停止平滑滚动但它不起作用。相反,它给了我那种有点儿的外观。

这是代码 请建议

        <script>
        $('a').click(function(e){

            $('html, body').stop().animate({
                scrollTop: $( $(this).attr('href') ).offset().top
            }, 1500);

            return false;
        });
        </script>

3 个答案:

答案 0 :(得分:1)

windowwheel个事件的mousewheel添加事件处理程序,并在其处理程序中调用$("html, body").stop()

答案 1 :(得分:1)

试试这个

<script>
    $('html, body').bind('mousewheel', function(e){ 
        $(this).stop();
    });

    $('a').click(function(e){
          $('html, body').stop().animate({
                scrollTop: $( $(this).attr('href') ).offset().top
          }, 1500);

        return false;
    });
</script>

答案 2 :(得分:0)

也许问题在于您没有使用文档就绪功能。

试试这个:

<script>
  $(document).ready(function () { // <-- this 
    $('a').click(function(e){

        $('html, body').stop().animate({
            scrollTop: $( $(this).attr('href') ).offset().top
        }, 1500);

        return false;
    });
  });
</script>