我目前正在使用以下jquery(以及鼠标滚轮插件)以允许在同一网页上进行垂直和水平滚动(图表也如下所示)
scrollVert();
var scrollLeft=0;
function scrollVert() {
$('html, body, *').off('mousewheel').mousewheel(function(e, delta) {
this.scrollTop -= (delta * 40);
e.preventDefault();
setTimeout(function() {
if ($(window).scrollTop() + $(window).height() == $(document).height())
scrollHoriz();
}, 0)
});
}
function scrollHoriz() {
$('html, body, *').off('mousewheel').mousewheel(function(e, delta) {
this.scrollLeft -= (delta * 40);
e.preventDefault();
scrollLeft=this.scrollLeft
setTimeout(function() {
if (scrollLeft == 0) scrollVert();
}, 0)
});
}
代码在Chrome中正常运行,但在Firefox和Safari中,它似乎无法运行。使用Firefox,它会到达页面底部,并且不会使用鼠标滚轮进行水平滚动。在Safari中,它在底部水平滚动,但不会重新滚动到垂直滚动。