javascript - 单击按钮几次会导致页面被阻止

标签 javascript

当您单击按钮时,页面应向下滚动到 id="myTarget"的 div。

这是我的 HTML:

<button class="go"> GO </button>
<div id="myTarget">
   <p>
        la lalal lalala lalala 
    </p>
</div>

和jquery:

$(function() {
  $(".go").on('click', function(event) {
     event.stopPropagation();
    $('html, body').animate({ 
        scrollTop: $("#myTarget").offset().top  }, 3000);
 });
});

我的问题是,当您单击按钮几次时,页面会向下滚动。之后就无法向上滚动了。有什么办法可以在页面移动时停止点击事件吗?

JsFiddle

最佳答案

如果使用鼠标滚轮时停止动画?

$(function() {
      $(".go").on('click', function(event) {
         event.stopPropagation();
        $('html, body').animate({ 
            scrollTop: $("#myTarget").offset().top  }, 3000);
     });

});
var page = $("html, body");
page.on("scroll mousedown wheel DOMMouseScroll mousewheel keyup touchmove", function(){
       page.stop();
});

Demo

关于javascript - 单击按钮几次会导致页面被阻止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31221892/

相关文章:

javascript - 使用 Twig 动态渲染 javascript 是否安全?

javascript - Masonry JS 在加载图像之前初始化

javascript - Safari 和 Chrome 中的密码输入字段

javascript - DatePicker 编辑时不显示输入中的日期

javascript - onmousedown 改变光标;可能需要控制事件冒泡

javascript - 如何在默认端口上设置node js应用程序?

Javascript继承扩展方法技巧

php - 多个项目作为一项插入到数据库中

javascript - Fabricjs - 以编程方式选择对象以立即移动/拖动

javascript - javascript 中的范围选择器。范围无效?