找回密码
 立即注册

QQ登录

只需一步,快速开始

Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-11-12 11:41:54
11#
那你看demo啊,demo里面用getCellRect,是可以试试获取当时单元格的行高列宽的。
回复 使用道具 举报
eyAndrew
金牌服务用户   /  发表于:2024-11-12 11:45:18
12#
image.png554246215.png
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-11-12 15:55:44
13#
image.png721471862.png
这句话如何理解?意思是做了一个能够拖动的下拉框,然后拖到某个位置上想吸附到附近的单元格上,以至于当屏幕在不同分辨率的情况下,位置都能显示一致?
回复 使用道具 举报
eyAndrew
金牌服务用户   /  发表于:2024-11-12 16:03:52
14#
Clark.Pan 发表于 2024-11-12 15:55
这句话如何理解?意思是做了一个能够拖动的下拉框,然后拖到某个位置上想吸附到附近的单元格上,以至于当 ...

是的,下拉框组件也是用浮动对象来承载, 可以随意拖动,客户在设计阶段,会根据UI设计稿,挪动浮动对象(举例: 这个下拉框要拖到 距离第七行往下 12px,C列往前 12px),然后在不同的分辨率下,位置显示一致。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-11-12 16:12:44
15#
如果是这样,首先你拖动的时候是知道落点的。
然后根据落点加上SpreadJS dom对象的offset可以计算出落点基于SpreadJSdom的相对x,y。
之后用户hittest方法,可以根据x,y获取到对应位置是哪一个单元格。
然后用getCellRect方法获取这个单元格的x,y,width,height
然后用获取到的x,y 与之前基于SpreadJSdom的相对x,y 比较可以获得基于这个单元格的偏移量即offset,类似下面这样
image.png303392638.png
最后按照我之前的demo设置对应的浮动对象和浮动对象的offset即可。

回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部