使用wxs响应事件中设置style遇到的问题
发布于 6 年前 作者 gangma 6781 次浏览 来自 问答

使用 movable-view 搭配 wxs 响应事件的确可以优化在一个元素拖动,另一个元素跟着移动的动画效果

但是发现一个问题

movable-view 里面的 x,y属性改变的其实是元素的 translateX translateY 的属性

在实现跟踪效果的时候监听A元素的 bindchange 事件

然后希望在 wxs 响应事件, 并根据 event.detail.x event.detail.y 动态更新 B 元素的 translateX translateY 属性

instance.setStyle("transform: translateX(" + x + "px) translateY(" + y + "px)")

发现并没有效果, 然后试了一下下面这样的

instance.setStyle("transform: translateX(400px)")

也没有效果,所以我怀疑 setStyle 并不支持设置 transform 相关的属性

现在只能通过设置 left 和 top 实现

instance.setStyle("left: " + x + "px; top: " + y + "px")

但是由于 B 元素之前通过 x, y 属性获得了 translateX translateY 属性

这样要想实现最终的效果得加人其他的逻辑

我想问的是, 为什么 setStyle 不支持 transform 相关的属性

什么时候可以支持这样的设置

回到顶部