绑定此鼠标滚轮事件处理程序禁用垂直滚动

问题描述:

我的网站有垂直滚动没有滚动条,一个div也没有滚动条的水平滚动。绑定此鼠标滚轮事件处理程序禁用垂直滚动

我得到下面的代码:

(function() { 
    function scrollHorizontally(e) { 
    e = window.event || e; 

    var delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail))); 

    document.getElementById("premios-scroll").scrollLeft -= (delta * 40); // Multiplied by 40 
    document.getElementById("premios-scroll").scrollLeft -= (delta * 40); // Multiplied by 40 

    e.preventDefault(); 
    } 

    if (window.addEventListener) { 
    // IE9, Chrome, Safari, Opera 
    window.addEventListener("mousewheel", scrollHorizontally, false); 

    // Firefox 
    window.addEventListener("DOMMouseScroll", scrollHorizontally, false); 
    } 
    else { 
    // IE 6/7/8 
    window.attachEvent("onmousewheel", scrollHorizontally); 
    } 
})(); 

它运作良好,但代码禁用垂直滚动。

以下是Website的链接。

+0

从我所看到的'e.preventDefault()'可以防止浏览器根本无法滚动,而且您的代码似乎只能水平滚动。 – Raziel 2014-11-14 12:41:55

如果你只添加水平滚动,如果事件mouseover目标是premios滚动?

+0

这是一个想法,但我需要向我的老板显示选项哈哈 – 2014-11-14 13:47:48