我正在开发一个基于 Raphael JS 的白板应用程序。当纸张尺寸大于网页的可查看部分时,它会添加右侧和底部滚动条。但由于滚动条,我没有得到正确的鼠标坐标。例如,如果我通过向下滚动纸张在右下角某处画一条线(使用 Raphael),则该对象仅在纸张的可见部分创建。这意味着鼠标和绘制的元素的坐标不在同一个地方。如何找到 x 和 y 坐标的偏移量,我可以添加或减去鼠标坐标以在移动滚动条时在正确的位置打印元素。
问问题
319 次
我之前在使用 Raphael 进行拖放时遇到过这个问题,事实证明 Raphael 的 dragMove 包装器包含一个很好的例子来说明如何解决这个问题。简而言之,您可以通过文档的scrollLeft
和scrollTop
成员获取当前滚动偏移量。看看未压缩源代码中的 dragMove 函数——它比看起来简单得多。