0

基本上,我有一个网页,它是一个 div 里面的一个 div。假设 div 1(容器)高 500px。Div 2 在该容器内高 100 像素。我想要做的是检测用户在屏幕上触摸 div 2(这是手机上的网页),当他们向上/向下拖动时,div 会随之移动。我已经进行了一些研究,并且看到这是在 CSS 3 中使用 matrix3d 和 transform y 完成的(但是对于像我这样对这类事情没有什么经验的人来说,我找不到一个好的解释)。我想要它,比如说,用户将第二个 div 拖到底部,并且一些内容超出了容器 div 的范围。我不希望它向下滚动,我确实希望它消失......但我希望它有点“反弹”回到视野中。所以这里是故障。

  • 用户按下屏幕
  • 用户拖动 div 1 内部的 div 2。当他们拖动 div 时,它会沿拖动方向移动。
  • 用户可以将 div 向右拖动到顶部/底部。如果他们将它拖到容器 div 之外,那很好。容器 div 不应调整大小或变得可滚动,并且 div 2 的一部分应从视图中消失。
  • 当用户释放拖动时,div 应该弹回原位。比方说,如果它被拖得太高,它会弹回位置 100、100。如果它被拖得太远,它就会弹回 100、500(我认为反弹可以通过 CSS 过渡来控制)。

那么,有没有人有一个例子可以让我看到它的实际效果,或者有一个教程可以帮助我理解如何实现这个目标?我很抱歉没有提供任何代码作为开始的基础,但事实上,我真的不知道从哪里开始。

任何帮助是极大的赞赏。

4

1 回答 1

0

Safari 开发文档是您的朋友:

http://developer.apple.com/library/ios/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html

查看用于移动 div 的 touch move 部分,对于您的情况,您希望设置条件以判断用户是否超出了外部 div 的范围,并使用隐藏的溢出禁用滚动。

于 2013-02-11T15:49:43.643 回答