微信小程序 实现拖拽事件监听实例详解


Posted in Javascript onNovember 16, 2016

微信小程序 拖拽监听功能:

        在软件开发或者 APP应用开发的时候,经常会遇到拖拽监听,最近自己学习微信小程序的知识,就想实现这样的拖拽效果,这里就记录下。

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

上GIF:

微信小程序 实现拖拽事件监听实例详解

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

1.index.wxml

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

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

2.index.js

//index.js 
//获取应用实例 
var app = getApp() 
Page({ 
 data: { 
  ballBottom: 240, 
  ballRight: 120, 
  screenHeight: 0, 
  screenWidth: 0, 
 }, 
 onLoad: function () { 
[javascript] view plain copy
<span style="white-space:pre"> </span>//获取屏幕宽高 
  var _this = this; 
  wx.getSystemInfo({ 
   success: function (res) { 
    _this.setData({ 
     screenHeight: res.windowHeight, 
     screenWidth: res.windowWidth, 
    }); 
   } 
  }); 
 }, 
 ballMoveEvent: function (e) { 
  console.log('我被拖动了....') 
  var touchs = e.touches[0]; 
  var pageX = touchs.pageX; 
  var pageY = touchs.pageY; 
  console.log('pageX: ' + pageX) 
  console.log('pageY: ' + 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('x: ' + x) 
  console.log('y: ' + y) 
  this.setData({ 
   ballBottom: y, 
   ballRight: x 
  }); 
 },
//点击事件 
 ballClickEvent: function () { 
  console.log('点击了....') 
 } 
})

3.index.wxss

这里需要设置z-index

.image-style{ 
 position: absolute; 
 bottom: 240px; 
 right: 100px; 
 width: 60px; 
 height: 60px; 
 z-index: 100; 
}

Javascript 相关文章推荐
基于jQuery的固定表格头部的代码(IE6,7,8测试通过)
May 18 Javascript
关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
Nov 30 Javascript
PHP中CURL的几个经典应用实例
Jan 23 Javascript
jQuery实现默认是闭合的FAQ展开效果菜单
Sep 14 Javascript
json格式数据的添加,删除及排序方法
Jan 21 Javascript
BootStrap实用代码片段之一
Mar 22 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
Apr 14 Javascript
js中通过getElementsByName访问name集合对象的方法
Oct 31 Javascript
Angularjs实现分页和分页算法的示例代码
Dec 23 Javascript
vue进入页面时滚动条始终在底部代码实例
Mar 26 Javascript
JS学习笔记之贪吃蛇小游戏demo实例详解
May 29 Javascript
CocosCreator如何实现划过的位置显示纹理
Apr 14 Javascript
jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法
Nov 16 #Javascript
JavaScript仿微博发布信息案例
Nov 16 #Javascript
使用Node.js给图片加水印的方法
Nov 15 #Javascript
Node.js批量给图片加水印的方法
Nov 15 #Javascript
AngularJS 中使用Swiper制作滚动图不能滑动的解决方法
Nov 15 #Javascript
AngularJS extend用法详解及实例代码
Nov 15 #Javascript
Windows系统下安装Node.js的步骤图文详解
Nov 15 #Javascript
You might like
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
2013/06/18 PHP
php使用pear_smtp发送邮件
2016/04/15 PHP
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
2016/10/13 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
PDO::query讲解
2019/01/29 PHP
用于节点操作的API,颠覆原生操作HTML DOM节点的API
2010/12/11 Javascript
js将控件隐藏及display属性的使用介绍
2013/12/30 Javascript
javascript数组操作总结和属性、方法介绍
2014/04/05 Javascript
浅谈JS日期(Date)处理函数
2014/12/07 Javascript
通过伪协议解决父页面与iframe页面通信的问题
2015/04/05 Javascript
jQuery文字提示与图片提示效果实现方法
2016/07/04 Javascript
jquery获取table指定行和列的数据方法(当前选中行、列)
2016/11/07 Javascript
jQuery使用Layer弹出层插件闪退问题
2016/12/22 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
2017/06/09 Javascript
提高Node.js性能的应用技巧分享
2017/08/10 Javascript
vue项目实现记住密码到cookie功能示例(附源码)
2018/01/31 Javascript
jQuery实现的淡入淡出图片轮播效果示例
2018/08/29 jQuery
通过实例学习React中事件节流防抖
2019/06/17 Javascript
在漏洞利用Python代码真的很爽
2007/08/26 Python
python Django批量导入不重复数据
2016/03/25 Python
Python+微信接口实现运维报警
2016/08/27 Python
python爬虫使用cookie登录详解
2017/12/27 Python
pandas数据分组和聚合操作方法
2018/04/11 Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
2018/05/11 Python
python实现对求解最长回文子串的动态规划算法
2018/06/02 Python
Python django框架应用中实现获取访问者ip地址示例
2019/05/17 Python
Python 计算任意两向量之间的夹角方法
2019/07/05 Python
在Django下测试与调试REST API的方法详解
2019/08/29 Python
django xadmin中form_layout添加字段显示方式
2020/03/30 Python
python中sklearn的pipeline模块实例详解
2020/05/21 Python
PyTorch如何搭建一个简单的网络
2020/08/24 Python
财务工作个人求职的自我评价
2013/12/19 职场文书
师范学院美术系毕业生自我鉴定
2014/01/29 职场文书
致1500米运动员广播稿
2014/02/07 职场文书
【海涛教你打dota】体验一超神发条:咱是抢盾专业户
2022/04/01 DOTA
我们认为中短波广播场强仪的最佳组合
2022/04/05 无线电