Исходя из этого: http://reader-download.googlecode.com/svn/trunk/full-page-horizontal-scrolling.html Я не могу на всю жизнь заставить его работать в IE 10 в любом стандарте или режиме Quirks. У меня здесь jsFiddle, но он только прокручивает по вертикали: http://jsfiddle.net/dwsRC/1/JavaScript: Горизонтальная прокрутка с колесом мыши
Прокручиваемый код на 100% совпадает с примером сайта. Я пробовал другие прокрутки, но preventDefault не будет работать. Добавление jQuery тоже не помогает.
В Visual Studio 2012 я получаю:
JavaScript runtime error: Object doesn't support property or method 'preventDefault'
HTML:
<div id="container">
<div class="content c1">Hello, World!</div>
<div class="content c2">Hello, World!</div>
<div class="content c3">Hello, World!</div>
<div class="content c1">Hello, World!</div>
<div class="content c2">Hello, World!</div>
<div class="content c3 last">Hello, World!</div>
</div>
CSS:
#container {
height: 100%;
width: 6000px;
overflow: hidden;
}
.content {
width: 895px;
height: 675px;
float:left;
margin-right:50px;
}
.c1 {
background-color: red;
}
.c2 {
background-color: blue;
}
.c3 {
background-color: green;
}
JS:
(function() {
function scrollHorizontally(e) {
e = window.event || e;
var delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail)));
document.body.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);
}
})();