微信小程序实现左滑删除效果


Posted in Javascript onNovember 18, 2020

微信小程序实现左滑删除效果的具体代码,供大家参考,具体内容如下

微信小程序实现左滑删除效果

.wxml

<scroll-view scroll-y="{{isScroll}}" style='width:{{windowWidth}}px;height:{{windowHeight}}px'>
 <block wx:key="item" wx:for="{{data}}">
  <view data-index='{{index}}' class="custom_item" bindtouchstart="drawStart" bindtouchmove="drawMove" bindtouchend="drawEnd" style="right:{{item.right}}rpx">
  <view class="content">{{item.content}}</view>
  <view class="remove" bindtap="delItem">删除 </view>
  </view>
 </block>
 </scroll-view>

.js

Page({
 data: {
 delBtnWidth: 160,
 data: [{ content: "采购", right: 0 }, { content: "供应", right: 0 }, { content: "采购", right: 0 }, { content: "供应", right: 0}],
 isScroll: true,
 windowWidth:0,
 windowHeight: 0,
 },
 onLoad: function (options) {
 var that = this;
 wx.getSystemInfo({
  success: function (res) {
  that.setData({
   windowWidth: res.windowWidth,
   windowHeight: res.windowHeight
  });
  }
 });
 },
 drawStart: function (e) {
 // console.log("drawStart"); 
 var touch = e.touches[0]

 for (var index in this.data.data) {
  var item = this.data.data[index]
  item.right = 0
 }
 this.setData({
  data: this.data.data,
  startX: touch.clientX,
 })

 },
 drawMove: function (e) {
 var touch = e.touches[0]
 var item = this.data.data[e.currentTarget.dataset.index]
 var disX = this.data.startX - touch.clientX

 if (disX >= 20) {
  if (disX > this.data.delBtnWidth) {
  disX = this.data.delBtnWidth
  }
  item.right = disX
  this.setData({
  isScroll: false,
  data: this.data.data
  })
 } else {
  item.right = 0
  this.setData({
  isScroll: true,
  data: this.data.data
  })
 }
 },
 drawEnd: function (e) {
 var item = this.data.data[e.currentTarget.dataset.index]
 if (item.right >= this.data.delBtnWidth / 2) {
  item.right = this.data.delBtnWidth
  this.setData({
  isScroll: true,
  data: this.data.data,
  })
 } else {
  item.right = 0
  this.setData({
  isScroll: true,
  data: this.data.data,
  })
 }
 },

 delItem: function (e) {

 }
})

.wxss

.custom_item{
 height: 240rpx;
 width: 100%;
 display: flex;
 position: relative;
}
.remove{ 
 width: 160rpx; 
 height: 100%; 
 background-color: red; 
 color: white; 
 position: absolute; 
 top: 0; 
 right: -160rpx; 
 display: flex; 
 justify-content: center; 
 align-items: center; 
}

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript中的有名函数和无名函数
Oct 17 Javascript
Node.js事件循环(Event Loop)和线程池详解
Jan 28 Javascript
JS+CSS实现闪烁字体效果代码
Apr 05 Javascript
Javascript 函数的四种调用模式
Nov 05 Javascript
Vue 获取数组键名的方法
Jun 21 Javascript
vue生命周期实例小结
Aug 15 Javascript
Vue项目部署的实现(阿里云+Nginx代理+PM2)
Mar 26 Javascript
用vscode开发vue应用的方法步骤
May 06 Javascript
ES6 Object属性新的写法实例小结
Jun 25 Javascript
浅谈Vue SSR中的Bundle的具有使用
Nov 21 Javascript
《javascript设计模式》学习笔记四:Javascript面向对象程序设计链式调用实例分析
Apr 07 Javascript
在JavaScript中查找字符串中最长单词的三种方法(推荐)
Jan 18 Javascript
详解vue实现坐标拾取器功能示例
Nov 18 #Vue.js
JQuery+drag.js上传图片并且实现图片拖曳
Nov 18 #jQuery
Vue如何循环提取对象数组中的值
Nov 18 #Vue.js
vue在图片上传的时候压缩图片
Nov 18 #Vue.js
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
Nov 18 #Vue.js
微信小程序实现多张图片上传功能
Nov 18 #Javascript
如何在Express4.x中愉快地使用async的方法
Nov 18 #Javascript
You might like
php array_map array_multisort 高效处理多维数组排序
2009/06/11 PHP
php实现的支持断点续传的文件下载类
2014/09/23 PHP
php判断对象是派生自哪个类的方法
2015/06/20 PHP
Zend Framework常用校验器详解
2016/12/09 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
2017/07/07 PHP
利用php的ob缓存机制实现页面静态化方法
2017/07/09 PHP
jQuery autocomplete插件修改
2009/04/17 Javascript
Jquery ajax不能解析json对象,报Invalid JSON错误的原因和解决方法
2010/03/27 Javascript
JavaScript中数据结构与算法(二):队列
2015/06/19 Javascript
js方法数据验证的简单实例
2016/09/17 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
2016/09/20 Javascript
Bootstrapvalidator校验、校验清除重置的实现代码(推荐)
2016/09/28 Javascript
微信小程序拍照和摄像功能实现方法示例
2019/02/01 Javascript
JavaScript中的垃圾回收与内存泄漏示例详解
2019/05/02 Javascript
JavaScript实现简易计算器小功能
2020/10/22 Javascript
[01:36:17]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第一场 1月31日
2021/03/11 DOTA
python实现上传样本到virustotal并查询扫描信息的方法
2014/10/05 Python
举例详解Python中yield生成器的用法
2015/08/05 Python
python 写的一个爬虫程序源码
2016/02/28 Python
利用Tkinter(python3.6)实现一个简单计算器
2017/12/21 Python
flask中过滤器的使用详解
2018/08/01 Python
python Django 创建应用过程图示详解
2019/07/29 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
利用Pytorch实现简单的线性回归算法
2020/01/15 Python
tensorflow模型保存、加载之变量重命名实例
2020/01/21 Python
详解css3自定义滚动条样式写法
2017/12/25 HTML / CSS
捷克时尚网上商店:OTTO
2018/03/15 全球购物
火山咖啡:Volcanica Coffee
2019/10/29 全球购物
励志演讲稿500字
2014/08/21 职场文书
四风问题自查自纠工作情况报告
2014/10/28 职场文书
社区禁毒宣传活动总结
2015/05/07 职场文书
施工安全协议书
2016/03/22 职场文书
如何使用vue3打造一个物料库
2021/05/08 Vue.js
Python机器学习之基础概述
2021/05/19 Python
教你用python实现一个无界面的小型图书管理系统
2021/05/21 Python
Python编写nmap扫描工具
2021/07/21 Python