微信小程序实现拖拽功能


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 相关文章推荐
IE8 原生JSON支持
Apr 13 Javascript
StringTemplate遇见jQuery冲突的解决方法
Sep 22 Javascript
用显卡加速,轻松把笔记本打造成取暖器的办法!
Apr 17 Javascript
自己动手手写jQuery插件总结
Jan 20 Javascript
解析Node.js基于模块和包的代码部署方式
Feb 16 Javascript
移动端js触摸事件详解
Sep 18 Javascript
setTimeout函数的神奇使用
Feb 26 Javascript
Vue.js render方法使用详解
Apr 05 Javascript
微信小程序实现瀑布流布局与无限加载的方法详解
May 12 Javascript
vue页面使用阿里oss上传功能的实例(二)
Aug 09 Javascript
使用Vue制作图片轮播组件思路详解
Mar 21 Javascript
socket io与vue-cli的结合使用的示例代码
Nov 01 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+mysqli使用面向对象方式更新数据库实例
2015/01/29 PHP
PHP简单处理表单输入的特殊字符的方法
2016/02/03 PHP
学习面向对象之面向对象的基本概念:对象和其他基本要素
2010/11/30 Javascript
使用 JScript 创建 .exe 或 .dll 文件的方法
2011/07/13 Javascript
关于setInterval、setTimeout在jQuery中的使用注意事项
2011/09/28 Javascript
jquery中的常用事件bind、hover、toggle等示例介绍
2014/07/21 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
2014/10/11 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
2014/11/23 Javascript
2014 年最热门的21款JavaScript框架推荐
2014/12/25 Javascript
JavaScript测试工具之Karma-Jasmine的安装和使用详解
2015/12/03 Javascript
原生js三级联动的简单实现代码
2016/06/07 Javascript
BootStrap智能表单实战系列(七)验证的支持
2016/06/13 Javascript
jQuery解决input元素的blur事件和其他非表单元素的click事件冲突问题
2016/08/15 Javascript
Sublime Text新建.vue模板并高亮(图文教程)
2017/10/26 Javascript
python实现给字典添加条目的方法
2014/09/25 Python
python Django批量导入不重复数据
2016/03/25 Python
一个月入门Python爬虫学习,轻松爬取大规模数据
2018/01/03 Python
python中验证码连通域分割的方法详解
2018/06/04 Python
python监控文件并且发送告警邮件
2018/06/21 Python
python中的变量如何开辟内存
2018/06/26 Python
Python numpy中矩阵的基本用法汇总
2019/02/12 Python
python os模块简单应用示例
2019/05/23 Python
python3实现用turtle模块画一棵随机樱花树
2019/11/21 Python
Pytorch 多维数组运算过程的索引处理方式
2019/12/27 Python
泰国汽车、火车和轮渡票预订网站:Bus Online Ticket
2017/09/09 全球购物
什么是.net
2015/08/03 面试题
毕业生机械建模求职信
2013/10/14 职场文书
公司出纳岗位职责
2013/12/07 职场文书
营销总经理岗位职责
2014/02/02 职场文书
《中国梦我的梦》中学生演讲稿
2014/08/20 职场文书
中学综治宣传月活动总结
2015/05/07 职场文书
小学语文继续教育研修日志
2015/11/13 职场文书
高中诗歌鉴赏教学反思
2016/02/16 职场文书
Jupyter Notebook 如何修改字体和大小以及更改字体样式
2021/06/03 Python
java设计模式--七大原则详解
2021/07/21 Java/Android
剑指Offer之Java算法习题精讲二叉树专项训练
2022/03/21 Java/Android