如何使横向滚动像地铁?
问题描述:
我需要做类似于Windows 8的Metro风格水平滚动。例如,当用户在角落移动鼠标时,滚动器随之移动。如何使横向滚动像地铁?
我试过这段代码:
$(document).ready(function() {
document.documentElement.onmousewheel = function (event) {
$('body').scrollLeft($('body').scrollLeft() - event.wheelDelta);
};
});
但水平滚动倒不工作,我希望它。
我该如何制作Windows 8风格的水平滚动条?
答
我找到了答案:
为了获得水平滚动鼠标滚轮插件由布兰登·艾伦(GitHub上,下载)将被用来检测鼠标滚轮运动就像一个按键,当然,jQuery的本身将被使用。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="js/jquery.mousewheel.js"></script>
的Javascript
$(document).ready(function() {
$('html, body, *').mousewheel(function(e, delta) {
this.scrollLeft -= (delta * 40);
e.preventDefault();
});
})
中的JavaScript可以只被添加到head标签。请注意,滚动适用于html,body和*(一切) - 这使它可以跨不同的浏览器工作。 event.preventDefault()只是禁用垂直滚动。
答
你可以做这样的事情: HTML:
<div class="hScroll">
<div class="content">
<!-- your content -->
</div>
</div>
CSS
.hScroll {
position: relative;
width: 99999em;
height: 100%;
}
.content {
position: relative;
width: auto;
height: 100%;
float:left;
}
的Javascript
$(document).ready(function(){
$('.hScroll').width($('.content').outerWidth());
});
document.documentElement.onmousewheel = function (event) {
$('body').scrollLeft($('body').scrollLeft() - event.wheelDelta);
event.preventDefault();
};
谢谢,但水平滚动不太适合鼠标滚轮。 – Niloo 2013-03-10 04:56:00