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


Posted in Javascript onAugust 17, 2017

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

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

实现效果图:

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

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

1.index.wxml

<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

//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('我被拖动了....') 
  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多选项卡效果实例代码(附效果图)
Mar 23 Javascript
元素未显示设置width/height时IE中使用currentStyle获取为auto
May 04 Javascript
jQuery回调函数的定义及用法实例
Dec 23 Javascript
jQuery源码解读之removeAttr()方法分析
Feb 20 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
Mar 04 Javascript
使用angularjs创建简单表格
Jan 21 Javascript
实现easyui的datagrid导出为excel的示例代码
Nov 10 Javascript
Javascript blur与click冲突解决办法
Jan 09 Javascript
jquery dialog获取焦点的方法
Feb 09 Javascript
小程序外卖订单界面的示例代码
Dec 30 Javascript
微信小程序实现多选框功能的实例代码
Jun 24 Javascript
js实现无缝轮播图插件封装
Jul 31 Javascript
input file样式修改以及图片预览删除功能详细概括(推荐)
Aug 17 #Javascript
微信小程序滚动Tab实现左右可滑动切换
Aug 17 #Javascript
Angular实现图片裁剪工具ngImgCrop实践
Aug 17 #Javascript
jQuery Layer弹出层传值到父页面的实现代码
Aug 17 #jQuery
jQuery条件分页 代替离线查询(附代码)
Aug 17 #jQuery
vue中appear的用法
Aug 17 #Javascript
Angularjs单选框相关的示例代码
Aug 17 #Javascript
You might like
PHP开发规范手册之PHP代码规范详解
2011/01/13 PHP
PHPUnit PHP测试框架安装方法
2011/03/23 PHP
php实现快速排序的三种方法分享
2014/03/12 PHP
Yii学习总结之数据访问对象 (DAO)
2015/02/22 PHP
JavaScript 继承详解(一)
2009/07/13 Javascript
jquery插件之easing 动态菜单
2010/08/21 Javascript
jQuery实现渐变下拉菜单的简单方法
2015/03/11 Javascript
JS实现兼容性较好的随屏滚动效果
2015/11/09 Javascript
node.js发送邮件email的方法详解
2017/01/06 Javascript
JavaScript运动框架 解决防抖动问题、悬浮对联(二)
2017/05/17 Javascript
js canvas实现简单的图像扩散效果
2020/06/28 Javascript
seajs模块压缩问题与解决方法实例分析
2017/10/10 Javascript
webstrom Debug 调试vue项目的方法步骤
2018/07/17 Javascript
微信小程序城市选择及搜索功能的方法
2019/03/22 Javascript
vue权限问题的完美解决方案
2019/05/08 Javascript
改进 JavaScript 和 Rust 的互操作性并深入认识 wasm-bindgen 组件
2019/07/13 Javascript
Layui表格监听行单双击事件讲解
2019/11/14 Javascript
jquery向后台提交数组的代码分析
2020/02/20 jQuery
vscode 远程调试python的方法
2017/12/01 Python
python导入csv文件出现SyntaxError问题分析
2017/12/15 Python
利用numpy实现一、二维数组的拼接简单代码示例
2017/12/15 Python
python+opencv+caffe+摄像头做目标检测的实例代码
2018/08/03 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
2018/12/24 Python
python 实现批量替换文本中的某部分内容
2019/12/13 Python
np.dot()函数的用法详解
2020/01/17 Python
快速解释如何使用pandas的inplace参数的使用
2020/07/23 Python
Python定义一个Actor任务
2020/07/29 Python
CSS3之transition实现下划线的示例代码
2018/05/30 HTML / CSS
美国眼镜网站:EyeBuyDirect
2017/04/13 全球购物
为什么需要版本控制
2016/10/28 面试题
应聘文员自荐信范文
2014/03/11 职场文书
介绍信格式
2015/01/30 职场文书
2016年母亲节寄语
2015/12/04 职场文书
2019个人半年工作总结
2019/06/21 职场文书
56句经典英文座右铭
2019/08/09 职场文书
mysql性能优化以及配置连接参数设置
2022/05/06 MySQL