向下滚动或向上滚动时滚动到特定div

时间:2015-03-26 06:35:09

标签: javascript jquery html scroll

在我的网站上,我有它,所以我的滚动被锁定:

body {
    overflow: hidden;
    height: 100%;
}

点击按钮它会滚动到某个div,所有div都在彼此之下,我想知道是否可以检查用户是否'尝试'向下或向上滚动,同时滚动被锁定,所以如果他们尝试用鼠标滚轮向下滚动,我想知道如何做到这一点,所以我可以向下滚动或向上滚动到下一个div。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这将告诉您它们是向下滚动还是向上滚动。那么你将不得不自己处理过渡。

但无论如何,如果您正在寻找更加经过验证的解决方案,我建议您使用已经存在的插件,例如fullPage.js,这将提供旧的浏览器兼容性,触摸检测,正确触控板和Apple笔记本电脑/ Magic Mouse 的解决方案,调整支持和许多其他有用的功能。

addMouseWheelHandler();

function MouseWheelHandler(e) {
     // cross-browser wheel delta
     e = window.event || e;
     var value = e.wheelDelta || -e.deltaY || -e.detail;
     var delta = Math.max(-1, Math.min(1, value));


     //scrolling down?
     if (delta < 0) {
         console.log("scrolling down");
     }

     //scrolling up?
     else {
         console.log("scrolling up");
     }

     return false;
 }


 function addMouseWheelHandler() {
     if (document.addEventListener) {
         document.addEventListener('mousewheel', MouseWheelHandler, false); //IE9, Chrome, Safari, Oper
         document.addEventListener('wheel', MouseWheelHandler, false); //Firefox
     } else {
         document.attachEvent('onmousewheel', MouseWheelHandler); //IE 6/7/8
     }
 }