刚才,我不小心偶然发现http://www.benekdesign.com/。在鼠标滚轮上滚动它执行水平滚动。 真的说我不喜欢这个功能。这有点刺激。但是,请告诉我如何实现同样的目标。
被修改
好吧,萤火虫说他正在使用
/ * Horizontal 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日
答案 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/
答案 2 :(得分:1)
另一种形式:
document.addEventListener('wheel', (e) => {
document.getElementById('scroll_container').scrollLeft += e.deltaY;
})