20

刚才,无意中,我偶然发现了http://www.benekdesign.com/。在鼠标滚轮滚动时,它执行水平滚动。说真的,我不喜欢这个功能。这有点烦人。但是,请告诉我如何实现相同的目标。

已编辑

好的,萤火虫说他正在使用

/* Horizo​​ntal Tiny Scrolling - 水平网站的平滑滚动脚本 2(垂直“Tiny Scrolling”的兄弟)3 by Marco Rosella - http://www.centralscrutinizer.it/en/design/js-php/horizo ​​ntal-tiny -scrolling 4 v0.6 - 2007 年 2 月 14 日

4

3 回答 3

25

看起来他只是将鼠标滚轮事件映射到滚动区域。在 IE 中,只需使用该doScroll()方法就可以很容易地做到这一点 - 这将使水平条滚动垂直条通常滚动的量。其他浏览器不支持该doScroll()方法,因此您必须忍受任意数量的滚动:

var mouseWheelEvt = function (event) {
    if (document.body.doScroll)
        document.body.doScroll(event.wheelDelta>0?"left":"right");
    else if ((event.wheelDelta || event.detail) > 0)
        document.body.scrollLeft -= 10;
    else
        document.body.scrollLeft += 10;

    return false;
}
document.body.addEventListener("mousewheel", mouseWheelEvt);
于 2010-02-27T10:28:13.057 回答
8

由于上述解决方案对我不起作用,我刚刚找到了另一个解决方案:http: //css-tricks.com/snippets/jquery/horz-scroll-with-mouse-wheel/

示例: http ://digwp.com/archives/horz/

于 2012-01-09T08:40:28.030 回答
5

另一种形式:

document.addEventListener('wheel', (e) => {
    document.getElementById('scroll_container').scrollLeft += e.deltaY;
})
于 2019-02-14T14:56:55.633 回答