微信小程序实现拖拽 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 相关文章推荐
js 提交和设置表单的值
Dec 19 Javascript
javascript获得CheckBoxList选中的数量
Oct 27 Javascript
基于jQuery的消息提示插件 DivAlert之旅(二)
Apr 01 Javascript
JavaScript中的字符串操作详解
Nov 12 Javascript
常用的几段javascript代码分享
Mar 25 Javascript
判断日期是否能跨月查询的js代码
Jul 25 Javascript
js获取内联样式的方法
Jan 27 Javascript
Node.js 异步编程之 Callback介绍(一)
Mar 30 Javascript
vue 实现 ios 原生picker 效果及实现思路解析
Dec 06 Javascript
JavaScript基于数组实现的栈与队列操作示例
Dec 22 Javascript
Vue之beforeEach非登录不能访问的实现(代码亲测)
Jul 18 Javascript
解决layui调用自定义方法提示未定义的问题
Sep 14 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 验证码实例代码
2010/06/01 PHP
Yii中Model(模型)的创建及使用方法
2015/12/28 PHP
利用PHP扩展Xhprof分析项目性能实践教程
2018/09/05 PHP
ExtJS 2.0实用简明教程 之Ext类库简介
2009/04/29 Javascript
jquery 事件对象属性小结
2010/04/27 Javascript
Javascript实现DIV滚动自动滚动到底部的代码
2012/03/01 Javascript
Jquery Uploadify上传带进度条的简单实例
2014/02/12 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
2015/02/28 Javascript
前端微信支付js代码
2016/07/25 Javascript
什么是JavaScript中的结果值?
2016/10/08 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
React+react-dropzone+node.js实现图片上传的示例代码
2017/08/23 Javascript
轻松搞定jQuery+JSONP跨域请求的解决方案
2018/03/06 jQuery
angular5 httpclient的示例实战
2018/03/12 Javascript
vue 之 .sync 修饰符示例详解
2018/04/21 Javascript
解决vue-router 二级导航默认选中某一选项的问题
2019/11/01 Javascript
Element Dialog对话框的使用示例
2020/07/26 Javascript
[03:01]完美盛典趣味短片 DOTA2年度最佳&拉胯英雄
2019/12/07 DOTA
Python按行读取文件的简单实现方法
2016/06/22 Python
python利用微信公众号实现报警功能
2018/06/10 Python
Python下调用Linux的Shell命令的方法
2018/06/12 Python
tensorflow学习教程之文本分类详析
2018/08/07 Python
Python爬虫实现“盗取”微信好友信息的方法分析
2019/09/16 Python
使用python的turtle函数绘制一个滑稽表情
2020/02/28 Python
python 实现一个图形界面的汇率计算器
2020/11/09 Python
Python中过滤字符串列表的方法
2020/12/22 Python
英国蜡烛、蜡烛配件和家居香氛购买网站:Yankee Candle
2018/12/12 全球购物
建筑人员岗位职责
2013/12/25 职场文书
公职人员索取回扣检举信
2014/04/04 职场文书
社区健康教育工作方案
2014/06/03 职场文书
初中毕业典礼演讲稿
2014/09/09 职场文书
2014年班组长工作总结
2014/11/20 职场文书
2015年师德师风承诺书
2015/01/22 职场文书
辞职信标准格式
2015/02/27 职场文书
情侣之间的道歉短信
2015/05/12 职场文书
PyMongo 查询数据的实现
2021/06/28 Python