微信小程序实现拖拽功能


Posted in Javascript onSeptember 26, 2019

微信小程序实现拖拽功能

<view class='collectBox' 
  bindtap='addCollect' 
  wx:if="{{write[0]+write[1] > 0}}" 
  bindtouchmove="touchmove" 
  catch:touchmove 
  style="left:{{write[0]}}px;top:{{write[1]}}px;">
  <image src='../../images/icon/addcollect.png'></image>
</view>
// pages/cateDetaile/cateDetaile.js
const app = getApp()
Page({
 
  /**
   * 页面的初始数据
   */
  data: {
    // 拖拽参数
    writePosition: [80, 90], //默认定位参数
    writesize: [0, 0],// X Y 定位
    window: [0, 0], //屏幕尺寸
    write: [0, 0], //定位参数
    scrolltop: 0,//据顶部距离
  },
 
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // 在页面中定义插屏广告
    let that = this;
    that.getSysdata();
  },
  //计算默认定位值
  getSysdata: function () {
    var that = this;
    wx.getSystemInfo({
      success: function (e) {
        that.data.window = [e.windowWidth, e.windowHeight];
        var write = [];
        write[0] = that.data.window[0] * that.data.writePosition[0] / 100;
        write[1] = that.data.window[1] * that.data.writePosition[1] / 100;
        console.log(write,45)
        that.setData({
          write: write
        }, function () {
          // 获取元素宽高
          wx.createSelectorQuery().select('.collectBox').boundingClientRect(function (res) {
            console.log(res.width)
            that.data.writesize = [res.width, res.height];
          }).exec();
        })
      },
      fail: function (e) {
        console.log(e)
      }
    });
  },
  //开始拖拽  
  touchmove: function (e) {
    var that = this;
    var position = [e.touches[0].pageX - that.data.writesize[0] / 2, e.touches[0].pageY - that.data.writesize[1] / 2 - this.data.scrolltop];
    that.setData({
      write: position
    });
  },
  onPageScroll(e) {
    this.data.scrolltop = e.scrollTop;
  },
})

总结

以上所述是小编给大家介绍的微信小程序实现拖拽功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
网页开发中的容易忽略的问题 javascript HTML中的table
Apr 15 Javascript
js判断上传文件类型判断FileUpload文件类型代码
May 20 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
May 25 Javascript
使用JQuery 加载页面时调用JS的实现方法
May 30 Javascript
JavaScript mixin实现多继承的方法详解
Mar 30 Javascript
angular directive的简单使用总结
May 24 Javascript
webpack实用小功能介绍
Jan 02 Javascript
js+html5实现手机九宫格密码解锁功能
Jul 30 Javascript
微信小程序获取音频时长与实时获取播放进度问题
Aug 28 Javascript
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
Dec 11 jQuery
详解Node.js一行命令上传本地文件到服务器
Apr 22 Javascript
node.js使用zlib模块进行数据压缩和解压操作示例
Feb 12 Javascript
vue用BMap百度地图实现即时搜索功能
Sep 26 #Javascript
layui.tree组件的使用以及搜索节点功能的实现
Sep 26 #Javascript
微信小程序点击列表跳转到对应详情页过程解析
Sep 26 #Javascript
vue+element tabs选项卡分页效果
Jun 29 #Javascript
layui实现根据table数据判断按钮显示情况的方法
Sep 26 #Javascript
vue+element表格导出为Excel文件
Sep 26 #Javascript
利用layer实现表单完美验证的方法
Sep 26 #Javascript
You might like
php基础知识:控制结构
2006/12/13 PHP
谈PHP生成静态页面分析 模板+缓存+写文件
2009/08/17 PHP
《PHP编程最快明白》第六讲:Mysql数据库操作
2010/11/01 PHP
通过PHP的内置函数,通过DES算法对数据加密和解密
2012/06/21 PHP
PHP魔术方法使用方法汇总
2016/02/14 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
HTML中Select不用Disabled实现ReadOnly的效果
2008/04/07 Javascript
使用 Node.js 做 Function Test实现方法
2013/10/25 Javascript
javascript怎么禁用浏览器后退按钮
2014/03/27 Javascript
jQuery学习笔记之jQuery.extend(),jQuery.fn.extend()分析
2014/06/09 Javascript
IE浏览器IFrame对象内存不释放问题解决方法
2014/08/22 Javascript
js获取新浪天气接口的实现代码
2016/06/06 Javascript
如何使用angularJs
2017/05/08 Javascript
如何开发出更好的JavaScript模块
2017/12/22 Javascript
js点击时关闭该范围下拉菜单之外的菜单方法
2018/01/11 Javascript
vue.js项目nginx部署教程
2018/04/05 Javascript
Vue中的字符串模板的使用
2018/05/17 Javascript
angular2路由之routerLinkActive指令【推荐】
2018/05/30 Javascript
javscript 数组扁平化的实现
2020/02/03 Javascript
js根据后缀判断文件文件类型的代码
2020/05/09 Javascript
ES6箭头函数和扩展实例分析
2020/05/23 Javascript
[02:04]2014DOTA2国际邀请赛 BBC小组赛第三天总结
2014/07/12 DOTA
[59:07]海涛为你详解DOTA2新版本“贤哲秘契”
2014/11/22 DOTA
python获得图片base64编码示例
2014/01/16 Python
Python re模块介绍
2014/11/30 Python
python更新列表的方法
2015/07/28 Python
深入理解Python中的内置常量
2017/05/20 Python
Go/Python/Erlang编程语言对比分析及示例代码
2018/04/23 Python
使用python获取电脑的磁盘信息方法
2018/11/01 Python
pyinstaller打包找不到文件的问题解决
2020/04/15 Python
Python Matplotlib绘图基础知识代码解析
2020/08/31 Python
使用jTopo给Html5 Canva中绘制的元素添加鼠标事件
2014/05/15 HTML / CSS
adidas马来西亚官网:adidas MY
2020/09/12 全球购物
幼儿园教师心得体会范文
2016/01/21 职场文书
自荐信大全
2019/03/21 职场文书