微信小程序实现拖拽 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 相关文章推荐
菜鸟javascript基础整理1
Dec 06 Javascript
基于mootools 1.3框架下的图片滑动效果代码
Apr 22 Javascript
Javascript在IE和FireFox中的不同表现简析
Dec 03 Javascript
THREE.JS入门教程(6)创建自己的全景图实现步骤
Jan 25 Javascript
jquery ui dialog实现弹窗特效的思路及代码
Aug 03 Javascript
ExtJS4中的requires使用方法示例介绍
Dec 03 Javascript
浅谈JavaScript前端开发的MVC结构与MVVM结构
Jun 03 Javascript
微信小程序 MD5的方法详解及实例代码
Mar 10 Javascript
Google 爬虫如何抓取 JavaScript 的内容
Apr 07 Javascript
webpack4打包vue前端多页面项目
Sep 17 Javascript
小程序实现列表删除功能
Oct 30 Javascript
node学习笔记之读写文件与开启第一个web服务器操作示例
May 29 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
2020最新CPU的性能排名
2020/04/02 数码科技
PHP MVC模式在网站架构中的实现分析
2010/03/04 PHP
谈谈php对接芝麻信用踩的坑
2016/12/01 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
php装饰者模式简单应用案例分析
2019/10/23 PHP
jQuery 版元素拖拽原型代码
2011/04/25 Javascript
5个javascript的数字格式化函数分享
2011/12/07 Javascript
你所不了解的javascript操作DOM的细节知识点(一)
2015/06/17 Javascript
把json格式的字符串转换成javascript对象或数组的方法总结
2016/11/03 Javascript
js事件源window.event.srcElement兼容性写法(详解)
2016/11/25 Javascript
angularJs的ng-class切换class
2017/06/23 Javascript
旺旺在线客服代码 旺旺客服代码生成器
2018/01/09 Javascript
JS面向对象编程实现的拖拽功能案例详解
2020/03/03 Javascript
jQuery实现鼠标放置名字上显示详细内容气泡提示框效果的方法分析
2020/04/04 jQuery
利用原生JS实现欢乐水果机小游戏
2020/04/23 Javascript
解决vue addRoutes不生效问题
2020/08/04 Javascript
vue elementui tree 任意级别拖拽功能代码
2020/08/31 Javascript
Python设计模式之抽象工厂模式
2016/08/25 Python
详解Python中的文件操作
2016/08/28 Python
python利用rsa库做公钥解密的方法教程
2017/12/10 Python
Python3 读、写Excel文件的操作方法
2018/10/20 Python
Python字符串匹配之6种方法的使用详解
2019/04/08 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
2020/02/15 Python
使用AJAX和Django获取数据的方法实例
2020/10/25 Python
Python字符串对齐、删除字符串不需要的内容以及格式化打印字符
2021/01/23 Python
HTML5标签与HTML4标签的区别示例介绍
2013/07/18 HTML / CSS
DJI大疆无人机官方商城:全球领先的无人飞行器研发和生产商
2016/12/21 全球购物
事业单位公务员的职业生涯规划
2014/01/15 职场文书
大学生实习鉴定评语
2014/04/25 职场文书
正科级干部考察材料
2014/05/29 职场文书
庆祝国庆节演讲稿2014
2014/09/19 职场文书
2014年语文教师工作总结
2014/12/18 职场文书
2015年大学生入党自荐书
2015/03/24 职场文书
Linux安装Nginx步骤详解
2021/03/31 Servers
如何用python插入独创性声明
2021/03/31 Python
Go遍历struct,map,slice的实现
2021/06/13 Golang