blockly > WorkspaceSvg > scrollX

WorkspaceSvg.scrollX 属性

相对于工作区原点的当前水平滚动偏移量(以像素为单位)。

考虑一个视图非常有用,一个画布会在该视图之下移动。随着画布向右移动,此值会变为正数,视图现在会“看到”画布的左侧。随着画布向左移动,此值会变得更为负,且视图现在“能看到”画布的右侧。

关于此值,令人困惑的地方在于,它不包含,并且不得包含 absoluteLeft 偏移。这是因为它用于计算 viewLeft 值。

viewLeft 相对于工作区原点(但以像素为单位)。工作区原点位于工作区的左上角(至少在已启用该工作区的情况下)。它会从 blocklyDiv 的左上角移动到工具箱的下方。

启用工作区后,viewLeft 和工作区原点位于相同的 X 位置。当画布在视图下方向右滑时,此值 (scrollX) 变得更正,而 viewLeft 相对于工作区原点的值变负(假设工作区原点为画布上的一个点,当画布移动时向右滑动)。

因此,如果 scrollX 包含 absoluteLeft,这将在某种程度上“取消偏移”工作区原点。这意味着 viewLeft 表示 blocklyDiv 的左边缘,而不是工作区的左边缘。

Signature:

scrollX: number;