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


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 相关文章推荐
javascript中的undefined和not defined区别示例介绍
Feb 26 Javascript
兼容IE、firefox以及chrome的js获取时间(getFullYear)
Jul 04 Javascript
jquery分割字符串的方法
Jun 24 Javascript
使用ionic切换页面卡顿的解决方法
Dec 16 Javascript
bootstrap配合Masonry插件实现瀑布式布局
Jan 18 Javascript
AngulerJS学习之按需动态加载文件
Feb 13 Javascript
Vue单页式应用(Hash模式下)实现微信分享的实例
Jul 21 Javascript
详解如何解决Vue和vue-template-compiler版本之间的问题
Sep 17 Javascript
在vue中使用setInterval的方法示例
Apr 16 Javascript
解决vue单页面应用中动态修改title问题
Jun 09 Javascript
Vue动态创建注册component的实例代码
Jun 14 Javascript
手写Spirit防抖函数underscore和节流函数lodash
Mar 22 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
MySql中正则表达式的使用方法描述
2008/07/30 PHP
Drupal7 form表单二次开发要点与实例
2014/03/02 PHP
php中实现精确设置session过期时间的方法
2014/07/17 PHP
PHP实现加强版加密解密类实例
2015/07/29 PHP
php微信公众号开发之关键词回复
2018/10/20 PHP
(function(){})()的用法与优点
2007/03/11 Javascript
javascript 面向对象编程 聊聊对象的事
2009/09/17 Javascript
你必须知道的JavaScript 变量命名规则详解
2013/05/07 Javascript
利用js实现遮罩以及弹出可移动登录窗口
2013/07/08 Javascript
js判断某个字符出现的次数的简单实例
2016/06/03 Javascript
浅谈addEventListener和attachEvent的区别
2016/07/14 Javascript
把多个JavaScript函数绑定到onload事件处理函数上的方法
2016/09/04 Javascript
javascript操作cookie
2017/01/17 Javascript
js实现无缝滚动图
2017/02/22 Javascript
js实现扫雷小程序的示例代码
2017/09/27 Javascript
react-native组件中NavigatorIOS和ListView结合使用的方法
2017/09/30 Javascript
快速解决vue-cli不能初始化webpack模板的问题
2018/03/20 Javascript
Vue进度条progressbar组件功能
2018/04/17 Javascript
JavaScript原型对象、构造函数和实例对象功能与用法详解
2018/08/04 Javascript
JavaScript中的函数申明、函数表达式、箭头函数
2019/12/06 Javascript
微信小程序后端无法保持session的原因及解决办法问题
2020/03/20 Javascript
Openlayers+EasyUI Tree动态实现图层控制
2020/09/28 Javascript
python实现ipsec开权限实例
2014/11/11 Python
Python 功能和特点(新手必学)
2015/12/30 Python
python文件的md5加密方法
2016/04/06 Python
恢复百度云盘本地误删的文件脚本(简单方法)
2017/10/21 Python
将Django项目部署到CentOs服务器中
2018/10/18 Python
自学python的建议和周期预算
2019/01/30 Python
python实现植物大战僵尸游戏实例代码
2019/06/10 Python
关于Python作用域自学总结
2019/06/10 Python
python 实现字符串下标的输出功能
2020/02/13 Python
python代码实现TSNE降维数据可视化教程
2020/02/28 Python
加热夹克:RAVEAN
2018/10/19 全球购物
拉丁舞学习者的自我评价
2013/10/27 职场文书
信电学院毕业生自荐书
2014/05/24 职场文书
初中生物教学反思
2016/02/20 职场文书