javascript - 启用/禁用 DOMMouseScroll 鼠标滚轮

标签 javascript jquery html mouseevent mouselistener

我正在尝试获得与 http://www.hugeinc.com 上相同的滚动过渡效果在最后一个项目部分和#main(最后)元素之间。

这是我到目前为止所做的: http://codepen.io/lorenzwoehr/pen/bpYzYB

此函数滚动到下一部分:

$("body").addClass("shifted", setTimeout(function() { 
    $("body").css({"overflow":"auto"});
}, 600));

问题

这会阻止#main 元素上的“正常”滚动:

$(window).on({
    'DOMMouseScroll mousewheel': elementScroll
});

当#main 元素被“移动”时,如何启用滚动?

最佳答案

您在第 40 行的函数 elementScroll 中返回了 false。 因此它不会滚动。您需要返回 true 才能滚动。

作为此问题的解决方案,您可能需要检查滚动事件中针对的是哪个元素。例如像这样: 返回 e.target.id != 'project-2'; 然后它只会在您的目标元素不是具有 id 的元素时传播滚动事件:project-2 这是您的幻灯片。

查看编辑后的 ​​codepen

关于javascript - 启用/禁用 DOMMouseScroll 鼠标滚轮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36448398/

相关文章:

javascript - 未捕获错误 : Syntax error, 无法识别的表达式:# Something

javascript - 停止内容在粘性 div 下占用空间

javascript - 我的 javascript 无法在浏览器中缓存

javascript - 我想制作一个导航系统,点击 div 会发生变化

jquery - 如何对不同 div 标签中的单选按钮进行分组

javascript - TinyMCE:如何摆脱一些按钮

如果应用程序托管在 IIS 上,Javascript window.location.href 不起作用

javascript - 转到另一个网址而不重新加载页面

jquery - IE 假文本阴影与其文本分开流动

Javascript 没有正确记录长度