我有一个与此处概述的问题类似(但不相同)的问题: how to fix the position of mask in snapsvg.js?
基本上,在这篇文章中,OP具有一个元素和一个掩码。他们希望元素在拖动时继续移动,而蒙版保持不变(相对于整个SVG文档)
可接受的答案表明,解决方案是在拖动回调中使用bool
和int
attrs作为移动被拖动元素的手段……而不是默认行为(大概是默认行为)转换属性?)。
这是OP问题的一个很好的答案。但是我有一个转折。我没有一个像Interlocked
或bool
这样的可以接受x
和y
属性的元素,而是要创建一个组(rect
)拖动。
该组有一个遮罩,我希望遮罩相对于视图框保持其位置。据我所知,polygon
标签不允许使用x
和y
属性。当我使用<g>
移动小组时,面罩随之而来。
这是我在某些情况下的代码笔: https://codepen.io/willdelphia/pen/yEjoJJ
现在设置,蓝色矩形处于拖动状态并且运行良好。但是我希望这两行(在蓝色矩形的右侧可见)与蓝色<g>
一起移动。
换句话说,我想将进度定义为:
x
而不是
y
任何帮助深表感谢!
更新:
通过对掩模层进行相反的转换,我能够实现所需的效果。请参阅:https://codepen.io/willdelphia/pen/dKeBZv
尽管这似乎是一种不雅的方法...希望有人知道是否有更好的解决方案。