在网页上我可以劫持垂直滚动动作并使其水平吗?

时间:2011-04-15 11:27:05

标签: javascript jquery html css scroll

在网页上我可以劫持垂直滚动动作并使其水平吗?

请尝试忽略潜在的可用性问题。

4 个答案:

答案 0 :(得分:2)

  

在网页上我可以劫持垂直滚动动作并使其水平吗?

据我所知(除非可能通过旋转元素 - 但这可能不是你想要的)。

您必须重新排列内容以使垂直滚动条消失,并强制使用水平滚动条。

是否可行将在很大程度上取决于页面内HTML元素的性质。

答案 1 :(得分:1)

是的,你可以这样做。

垂直滚动设置为element.scrollTop

你可以简单地添加一个循环,当它更改时捕获scrollTop,将其设置回零,然后将scrollLeft设置为=更改位置。

更重要的是,更好的解决方案是覆盖onscroll事件。

window.onscroll = function(event){

 event.preventDefault() // Stops the page from scrolling vertically.


 window.scrollLeft = event.scrollTop // This is not the correct event attribute, youll have to locate it yourself.
}

答案 2 :(得分:1)

这是一个执行此操作的jQuery插件,您可以将其指定为仅在鼠标位于目标元素上时才起作用: http://flowplayer.org/tools/scrollable/index.html

答案 3 :(得分:0)

您可以挂钩滚动事件,检查正在滚动的平面,如果是垂直,则将差异设置为水平滚动,并将垂直滚动设置为它的先前值。虽然我可以想象这会非常昂贵。