1

我目前正在使用 CSS 通过鼠标滚轮上下滚动弹出页面,但我无法让它在 FireFox 中工作。由于某种原因,它目前在 Chrome 中工作,只是使用 overflow-x:hidden; 和溢出-y:自动;。

我尝试使用 jQuery Mousewheel Plugin jquery.mousewheel.min.js 来让页面在没有滚动条的情况下向上和向下滚动,但是唉,我无法让它工作。Firefox 是否还需要使用鼠标滚轮来上下滚动页面?CSS、Javascript 还是 jQuery?

HTML

<div class="test">
   <div class="inner">blah blah blah
   </div>
</div>

CSS

.test{
display:inline-block;
overflow-x:hidden;
overflow-y:auto;
margin:0 auto;
}

.inner{
float:left;
overflow-x:hidden;
overflow-y:auto;
}
4

2 回答 2

1

如果您谈论的是在纯 JavaScript 中处理鼠标滚轮事件,我相信 Firefox 有一个不同的名称:DOMMouseScroll所以要普遍捕获它,您可以执行以下操作:

if (document.addEventListener) {
    document.addEventListener("mousewheel", MouseWheelHandler, false);
    document.addEventListener("DOMMouseScroll", MouseWheelHandler, false);
}
else {
    document.attachEvent("onmousewheel", MouseWheelHandler);
}   

function MouseWheelHandler(e) {

    var e = window.event || e;
    var delta = e.wheelDelta

    if (delta < 0) {
        // Do stuff when wheel is scrolled down
    } else {
        // Do stuff when wheel is scrolled up    
    }
}
于 2013-10-14T15:51:59.747 回答
0

您提到您已尝试使用 jQuery 鼠标滚轮插件,但您没有在帖子中提供任何 JavaScript。您是否尝试以编程方式(使用 DOM 事件侦听器)滚动元素?如果是这样,请注意 Chrome 最近才添加了对标准“滚轮”事件的支持 ( https://code.google.com/p/chromium/issues/detail?id=227454 ),因此您可能必须使用非标准的“鼠标滚轮” ' 事件。

于 2013-10-14T15:03:43.583 回答