如何在鼠标滚轮上滚动水平滚动?

时间:2010-02-27 10:13:58

标签: javascript jquery html scroll horizontal-scrolling

刚才,我不小心偶然发现http://www.benekdesign.com/。在鼠标滚轮上滚动它执行水平滚动。 真的说我不喜欢这个功能。这有点刺激。但是,请告诉我如何实现同样的目标。

被修改

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

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

3 个答案:

答案 0 :(得分:24)

看起来他只是将mousewheel event映射到滚动区域。在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);

答案 1 :(得分:8)

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

实施例: http://digwp.com/archives/horz/

答案 2 :(得分:1)

另一种形式:

document.addEventListener('wheel', (e) => {
    document.getElementById('scroll_container').scrollLeft += e.deltaY;
})