微信小程序中拖拽 image 触摸事件监听实现方法详解

why 30 2024-10-17

这篇文章主要介绍了微信小程序实现拖拽 image 触摸事件监听的实例的相关资料,这里提供image触摸并监听的简单实例,需要的朋友可以参考下

微信小程序实现拖拽 image 触摸事件监听的实例

需要做个浮在scroll-view之上的button.尝试了一下.

实现效果图:

Android中也会有类似移动控件的操作.思路差不多.获取到位移的X Y 的变量,给控件设置坐标.

1.index.wxml


1

2

<image class="image-style" src="../../images/gundong.png" bindtap="ballClickEvent" style="bottom:{{ballBottom}}px;right:{{ballRight}}px;" bindtouchmove="ballMoveEvent"

</image>

简单的设置一张图片,添加触摸事件监听.点击事件监听.根据触摸事件获取X Y位移,设置为image的位置

2.index.js


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

//index.js

//获取应用实例

var app = getApp()

Page({

 data: {

  ballBottom: 240,

  ballRight: 120,

  screenHeight: 0,

  screenWidth: 0,

 },

 onLoad: function () { //获取屏幕宽高

  var _this = this;

  wx.getSystemInfo({

   success: function (res) {

    _this.setData({

     screenHeight: res.windowHeight,

     screenWidth: res.windowWidth,

    });

   }

  });

 },

 ballMoveEvent: function (e) {

  console.log(&#39;我被拖动了....&#39;)

  var touchs = e.touches[0];

  var pageX = touchs.pageX;

  var pageY = touchs.pageY;

  console.log(&#39;pageX: &#39; + pageX)

  console.log(&#39;pageY: &#39; + pageY)

 

//防止坐标越界,view宽高的一般

  if (pageX < 30) return;

  if (pageX > this.data.screenWidth - 30) return;

  if (this.data.screenHeight - pageY <= 30) return;

  if (pageY <= 30) return;

 

//这里用right和bottom.所以需要将pageX pageY转换

  var x = this.data.screenWidth - pageX - 30;

  var y = this.data.screenHeight - pageY - 30;

  console.log(&#39;x: &#39; + x)

  console.log(&#39;y: &#39; + y)

  this.setData({

   ballBottom: y,

   ballRight: x

  });

 },

 

//点击事件

 ballClickEvent: function () {

  console.log(&#39;点击了....&#39;)

 }

})

3.index.wxss

这里需要设置z-index


1

2

3

4

5

6

7

8

.image-style{

 position: absolute;

 bottom: 240px;

 right: 100px;

 width: 60px;

 height: 60px;

 z-index: 100;

}

以上就是微信小程序之拖拽image触摸事件监听的实现方法介绍的详细内容。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微信小程序开发中详解 Nginx 环境配置的方法
下一篇:微信小程序中弹幕代码实现的详细方法介绍
相关文章

 发表评论

暂时没有评论,来抢沙发吧~