【问题标题】:On a webpage can I hijack the vertical scrolling action and make it horizontal?在网页上,我可以劫持垂直滚动动作并使其水平吗?
【发布时间】:2011-04-15 11:27:05
【问题描述】:

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

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

【问题讨论】:

  • 你打算如何垂直滚动比?如果内容高于视口,水平滚动有什么帮助?
  • "请尝试忽略潜在的可用性问题。"幸好你添加了这个,我正要给你一记耳光,甚至想到这个;)

标签: javascript jquery html css scroll


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

    这是一个执行此操作的 jQuery 插件,您可以指定它仅在鼠标悬停在目标元素上时工作: http://flowplayer.org/tools/scrollable/index.html

    【讨论】:

      【解决方案3】:

      是的,你可以这样做。

      垂直滚动设置为 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.
      }
      

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-07-27
          • 2014-09-21
          • 2010-10-18
          • 1970-01-01
          • 2016-06-26
          • 2021-11-13
          • 2014-01-09
          相关资源
          最近更新 更多