回到课程

将超级英雄放置在足球场周围

重要程度: 5

这个任务可以帮助你检查你对拖放和 DOM 的一些方面的理解程度。

使所有元素都具有类 draggable —— 可拖动。就像本章中的球一样。

要求:

  • 使用事件委托来跟踪拖动的开始:一个在 document 上的用于 mousedown 的处理程序。
  • 如果元素被拖动到了窗口的顶端/末端 —— 页面会向上/向下滚动以允许进一步的拖动。
  • 没有水平滚动(这使本任务更简单,但添加水平滚动也很简单)。
  • 即使在快速移动鼠标后,可拖动元素或该元素的部分也绝不应该离开窗口。

这个示例太大了,不适合放在这里,所以在下面给出了示例链接。

在新窗口中演示

打开一个任务沙箱。

要拖动元素,我们可以使用 position:fixed,它使坐标更易于管理。最后,我们应该将其切换回 position:absolute,以使元素放置到文档中。

当坐标位于窗口顶端/底端时,我们使用 window.scrollTo 来滚动它。

更多细节请见代码注释。

使用沙箱打开解决方案。