微信小程序实现拖拽功能


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  Error 对象 错误处理
May 18 Javascript
json-lib出现There is a cycle in the hierarchy解决办法
Feb 24 Javascript
纯Javascript实现Windows 8 Metro风格实现
Oct 15 Javascript
javascript每日必学之封装
Feb 23 Javascript
js使用highlight.js高亮你的代码
Aug 18 Javascript
vue router仿天猫底部导航栏功能
Oct 18 Javascript
利用nvm管理多个版本的node.js与npm详解
Nov 02 Javascript
vue 父组件调用子组件方法及事件
Mar 29 Javascript
vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
May 08 Javascript
Vue脚手架的简单使用实例
Jul 10 Javascript
vue两组件间值传递 $router.push实现方法
May 15 Javascript
Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
Jun 24 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/10/09 PHP
PHP大批量数据操作时临时调整内存与执行时间的方法
2011/04/20 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
2016/07/06 PHP
Prototype中dom对象方法汇总
2008/09/17 Javascript
IE6,IE7下js动态加载图片不显示错误
2010/07/17 Javascript
formValidator3.3的ajaxValidator一些异常分析
2011/07/12 Javascript
jQuery 过滤方法filter()选择具有特殊属性的元素
2014/06/15 Javascript
关闭页面window.location事件未执行的原因及解决方法
2014/09/01 Javascript
判断输入的字符串是否是日期格式的简单方法
2016/07/11 Javascript
AngularJS 单元测试(一)详解
2016/09/21 Javascript
很棒的一组js图片轮播特效
2017/01/12 Javascript
TypeScript入门-基本数据类型
2017/03/28 Javascript
分享ES6的7个实用技巧
2018/01/18 Javascript
vue鼠标悬停事件实例详解
2019/04/01 Javascript
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
JS实现多选框的操作
2020/06/24 Javascript
详解微信小程序动画Animation执行过程
2020/09/23 Javascript
[01:16:28]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第二场 2月23日
2021/03/11 DOTA
Python中的zip函数使用示例
2015/01/29 Python
Python中Class类用法实例分析
2015/11/12 Python
深入解答关于Python的11道基本面试题
2017/04/01 Python
python学习开发mock接口
2019/04/28 Python
在python中,使用scatter绘制散点图的实例
2019/07/03 Python
Python 200行代码实现一个滑动验证码过程详解
2019/07/11 Python
tensorflow 报错unitialized value的解决方法
2020/02/06 Python
领导党性分析材料
2014/02/15 职场文书
合作投资意向书
2014/04/01 职场文书
个人综合鉴定材料
2014/05/23 职场文书
酒店节能减排方案
2014/05/26 职场文书
个人查摆剖析材料
2014/10/16 职场文书
加入学生会自荐书
2015/03/05 职场文书
具结保证书范本
2015/05/11 职场文书
灵魂歌王观后感
2015/06/17 职场文书
高三毕业感言
2015/07/30 职场文书
如何利用JavaScript实现二叉搜索树
2021/04/02 Javascript
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
2021/06/23 Python