如何使用滚动条时查找鼠标坐标的偏移量



我正在开发一个基于Raphael JS的白板应用程序。当纸张大小大于网页的可查看部分时,它会添加右侧和底部滚动条。但是由于滚动条,我没有得到正确的鼠标坐标。例如,如果我通过向下滚动纸张在右下角的某个地方画一条线(使用 Raphael),则对象仅在纸张的可查看部分创建。这意味着鼠标和绘制元素的坐标不在同一个位置。如何找到x和y坐标的偏移量,我可以在移动滚动条时将其添加或减去鼠标坐标以将元素打印在正确的位置。

我之前在使用拉斐尔进行拖放时遇到过这个问题,事实证明,拉斐尔的 dragMove 包装器包含一个如何解决这个问题的很好的例子。 简而言之,您可以通过文档的scrollLeftscrollTop成员获取当前滚动偏移量。 看看未压缩源代码中的 dragMove 函数 - 它比看起来简单得多。

最新更新