小程序movable-area如何设置回弹到原点
时间: 2023-12-29 15:03:39 浏览: 200
微信小程序movable-view移动图片和双指缩放
5星 · 资源好评率100%
可以通过监听movable-view的touchend事件来判断movable-view是否超出了movable-area的范围,如果超出了就设置movable-view的位置回到原点。
示例代码:
1.在movable-area中添加一个movable-view:
```
<view class="container">
<movable-area class="area">
<movable-view class="view" direction="all">
movable-view
</movable-view>
</movable-area>
</view>
```
2.在Page的onLoad方法中获取movable-view的初始位置:
```
onLoad: function () {
wx.createSelectorQuery().select('.view').boundingClientRect(res => {
this.setData({
startX: res.left,
startY: res.top
})
}).exec()
},
```
3.在movable-view的touchend事件中判断是否超出了movable-area的范围,如果超出了就设置movable-view的位置回到原点:
```
onTouchEnd: function (e) {
wx.createSelectorQuery().select('.area').boundingClientRect(res => {
// 判断movable-view是否超出了movable-area的范围
if (e.changedTouches[0].clientX < res.left || e.changedTouches[0].clientX > res.right || e.changedTouches[0].clientY < res.top || e.changedTouches[0].clientY > res.bottom) {
// 超出了范围,设置movable-view的位置回到原点
this.setData({
x: this.data.startX,
y: this.data.startY
})
}
}).exec()
}
```
阅读全文