微信小程序实现拖拽功能


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 相关文章推荐
基于JQuery的浮动DIV显示提示信息并自动隐藏
Feb 11 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
Oct 30 Javascript
jquery实现滑动特效代码
Aug 10 Javascript
js实现商品抛物线加入购物车特效
Nov 18 Javascript
JS控制文本域只读或可写属性的方法
Jun 24 Javascript
js/jq仿window文件夹移动/剪切/复制等操作代码
Mar 08 Javascript
利用jquery去掉时光轴头尾部线条的方法实例
Jun 16 jQuery
Angular项目中$scope.$apply()方法的使用详解
Jul 26 Javascript
jquery鼠标悬停导航下划线滑出效果
Sep 29 jQuery
在vue项目中安装使用Mint-UI的方法
Dec 27 Javascript
vue+express+jwt持久化登录的方法
Jun 14 Javascript
three.js 如何制作魔方
Jul 31 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
第三节 定义一个类 [3]
2006/10/09 PHP
ajax缓存问题解决途径
2006/12/06 PHP
PHP中文分词的简单实现代码分享
2011/07/17 PHP
PHP使用自定义方法实现数组合并示例
2016/07/07 PHP
PHP实现支付宝即时到账功能
2016/12/21 PHP
利用php获得flv视频长度的实例代码
2017/10/26 PHP
用JavaScript页面不刷新时全选择,全删除(GridView)
2009/04/14 Javascript
Prototype Date对象 学习
2009/07/12 Javascript
JSON 和 JavaScript eval使用说明
2010/06/13 Javascript
在js中判断checkboxlist(.net控件客户端id)是否有选中
2013/04/11 Javascript
网页实时显示服务器时间和javscript自运行时钟
2014/06/09 Javascript
原生Javascript封装的一个AJAX函数分享
2014/10/11 Javascript
jquery日历插件e-calendar升级版
2016/11/10 Javascript
JS匿名函数类生成方式实例分析
2016/11/26 Javascript
AngularJS学习第二篇 AngularJS依赖注入
2017/02/13 Javascript
详解vue-cli快速构建vue应用并实现webpack打包
2017/12/13 Javascript
Vue 父子组件的数据传递、修改和更新方法
2018/03/01 Javascript
Vue.js上传图片到阿里云OSS存储的方法示例
2018/12/13 Javascript
详解vuex commit保存数据技巧
2018/12/25 Javascript
详解webpack4.x之搭建前端开发环境
2019/03/28 Javascript
[40:03]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#1EHOME VS Archon
2016/03/02 DOTA
gearman的安装启动及python API使用实例
2014/07/08 Python
200行自定义python异步非阻塞Web框架
2017/03/15 Python
用TensorFlow实现lasso回归和岭回归算法的示例
2018/05/02 Python
Python函数和模块的使用总结
2019/05/20 Python
Python使用sklearn实现的各种回归算法示例
2019/07/04 Python
Canvas实现放大镜效果完整案例分析(附代码)
2020/11/26 HTML / CSS
英国快时尚女装购物网站:PrettyLittleThing
2018/08/15 全球购物
酒店销售主管岗位职责
2014/01/04 职场文书
助人为乐表扬信范文
2014/01/14 职场文书
高三学生评语大全
2014/04/25 职场文书
支部书记四风对照材料
2014/08/28 职场文书
2015年创先争优工作总结
2015/05/23 职场文书
活动新闻稿范文
2015/07/17 职场文书
oracle连接ODBC sqlserver数据源的详细步骤
2021/07/25 Oracle
React如何使用axios请求数据并把数据渲染到组件
2022/08/05 Javascript