微信小程序实现拖拽功能


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字符串处理性能的代码
Dec 07 Javascript
jquery插件制作 自增长输入框实现代码
Aug 17 jQuery
jQuery创建DOM元素实例解析
Jan 19 Javascript
javascript实现设置、获取和删除Cookie的方法
Jun 01 Javascript
JavaScript中toString()方法的使用详解
Jun 05 Javascript
Javascript Event(事件)的传播与冒泡
Jan 23 Javascript
微信小程序页面开发注意事项整理
May 18 Javascript
BootStrap的双日历时间控件使用
Jul 25 Javascript
node中使用es5/6以及支持性与性能对比
Aug 11 Javascript
react-router v4如何使用history控制路由跳转详解
Jan 09 Javascript
jQuery实现滑动星星评分效果(每日分享)
Nov 13 jQuery
Vue项目开发常见问题和解决方案总结
Sep 11 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学习之输出字符串(echo,print,printf,print_r和var_dump)
2011/04/17 PHP
php文件上传类完整实例
2016/05/14 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
对YUI扩展的Gird组件 Part-1
2007/03/10 Javascript
JavaScript 获取事件对象的注意点
2009/07/29 Javascript
学习ExtJS Window常用方法
2009/10/07 Javascript
js获取RadioButtonList的Value/Text及选中值等信息实现代码
2013/03/05 Javascript
jquery 面包屑导航 具体实现
2013/06/05 Javascript
JS 获取select(多选下拉)中所选值的示例代码
2013/08/02 Javascript
jQuery中:eq()选择器用法实例
2014/12/29 Javascript
jQuery实现在textarea指定位置插入字符或表情的方法
2015/03/11 Javascript
Javascript实现字数统计
2015/07/03 Javascript
第五篇Bootstrap 排版
2016/06/21 Javascript
浅谈js常用内置方法和对象
2016/09/24 Javascript
用jQuery实现优酷首页轮播图
2017/01/09 Javascript
Vue.js结合bootstrap实现分页控件
2017/03/10 Javascript
js获取当前周、上一周、下一周日期
2017/03/19 Javascript
JS中去掉array中重复元素的方法
2017/05/26 Javascript
原生JS实现的轮播图功能详解
2018/08/06 Javascript
利用jqgrid实现上移下移单元格功能
2018/11/07 Javascript
vue无限轮播插件代码实例
2019/05/10 Javascript
[00:13]天涯墨客二技能展示
2018/08/25 DOTA
Django入门使用示例
2017/12/12 Python
Python实现的双色球生成功能示例
2017/12/18 Python
python 通过logging写入日志到文件和控制台的实例
2018/04/28 Python
Django项目之Elasticsearch搜索引擎的实例
2019/08/21 Python
解决python有时候import不了当前的包问题
2019/08/28 Python
python应用文件读取与登录注册功能
2019/09/23 Python
html5小技巧之通过document.head获取head元素
2014/06/04 HTML / CSS
奥巴马演讲稿
2014/01/08 职场文书
2014年度安全工作总结
2014/12/04 职场文书
2016七夕情人节感言
2015/12/09 职场文书
创业计划书之牛肉汤快餐店
2019/10/08 职场文书
详解Python requests模块
2021/06/21 Python
台积电称即便经济低迷也没有降价的计划
2022/04/21 数码科技