我有一个 Web 应用程序,它显示 2D 图表的可滚动视图,我试图让用户更轻松地让视图始终跟随手指。
默认行为是,大多数滑动动作都会导致垂直或水平受限的移动,这有助于阅读文本,但对我的用例而言并没有太大帮助。
编写自定义触摸事件代码以直接设置滚动是一种可能性,但这使得很难恢复滚动势头。此外,原生功能能够在幕后做一些特殊的事情,比如暂停 JS 操作并避免重新渲染,这有助于整体性能。
是否有可以控制方向控制行为的 CSS 样式?
我有一个 Web 应用程序,它显示 2D 图表的可滚动视图,我试图让用户更轻松地让视图始终跟随手指。
默认行为是,大多数滑动动作都会导致垂直或水平受限的移动,这有助于阅读文本,但对我的用例而言并没有太大帮助。
编写自定义触摸事件代码以直接设置滚动是一种可能性,但这使得很难恢复滚动势头。此外,原生功能能够在幕后做一些特殊的事情,比如暂停 JS 操作并避免重新渲染,这有助于整体性能。
是否有可以控制方向控制行为的 CSS 样式?
我还没有找到指定行为的方法,但我发现当我放下手指而不移动它然后在一秒钟后开始移动它时,它可以让我向各个方向滚动。
也许看看iScroll或类似的东西是否适合你,因为它包括动量,你可以明确指定是否要锁定方向。
您可以使图表溢出页面大小:
#diagram{
width: 2000px;
}
所有其他部分应固定:
#menu, etc{
position: fixed
}
这样您就可以使用没有方向约束的页面本身的滚动。
为防止 iPad 调整内容大小以适应设备宽度,请添加以下内容<head>
:
<meta name="viewport" content="initial-scale=1, user-scalable=no, width=2000px">