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


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 相关文章推荐
用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
Jul 18 Javascript
Array栈方法和队列方法的特点说明
Jan 24 Javascript
JavaScript中双叹号!!作用示例介绍
Sep 21 Javascript
javascript 实现 原路返回
Jan 21 Javascript
JavaScript中的Math.sin()方法使用详解
Jun 15 Javascript
js图片卷帘门导航菜单特效代码分享
Sep 10 Javascript
vue.js开发环境安装教程
Mar 17 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
Oct 31 Javascript
详解JS浏览器事件循环机制
Mar 27 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
Apr 17 Javascript
原生js实现的金山打字小游戏(实例代码详解)
Mar 16 Javascript
如何在vue中使用kindeditor富文本编辑器
Dec 19 Vue.js
详解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数据库开发知多少
2006/10/09 PHP
关于在php.ini中添加extension=php_mysqli.dll指令的说明
2007/06/14 PHP
php下清空字符串中的HTML标签的代码
2010/09/06 PHP
php中一个完整表单处理实现代码
2011/11/10 PHP
php微信公众号开发之音乐信息
2018/10/20 PHP
JQuery实现的在新窗口打开链接的方法小结
2010/04/22 Javascript
文本框获得焦点和失去焦点的判断代码
2012/03/18 Javascript
Extjs NumberField后面加单位实现思路
2013/07/30 Javascript
jQuery+Ajax实现无刷新分页
2015/10/30 Javascript
JavaScript+html5 canvas制作色彩斑斓的正方形效果
2016/01/27 Javascript
js转html实体的方法
2016/09/27 Javascript
jQuery 出现Cannot read property ‘msie’ of undefined错误的解决方法
2016/11/23 Javascript
Angular2学习笔记——详解NgModule模块
2016/12/02 Javascript
简述jQuery Easyui一些用法
2017/08/01 jQuery
使用vue实现grid-layout功能实例代码
2018/01/05 Javascript
微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解
2019/03/29 Javascript
vue中利用Promise封装jsonp并调取数据
2019/06/18 Javascript
vue基于better-scroll仿京东分类列表
2020/06/30 Javascript
vue项目中js-cookie的使用存储token操作
2020/11/13 Javascript
python访问mysql数据库的实现方法(2则示例)
2016/01/06 Python
Windows下安装python MySQLdb遇到的问题及解决方法
2017/03/16 Python
python [:3] 实现提取数组中的数
2019/11/27 Python
pytorch中交叉熵损失(nn.CrossEntropyLoss())的计算过程详解
2020/01/02 Python
基于Tensorflow一维卷积用法详解
2020/05/22 Python
python 在sql语句中使用%s,%d,%f说明
2020/06/06 Python
tensorflow之读取jpg图像长和宽实例
2020/06/18 Python
VELTRA台湾:世界自由行专家
2017/08/15 全球购物
荷兰家电销售网站:Welhof
2020/12/08 全球购物
精选干货:Java精选笔试题附答案
2014/01/18 面试题
岳父生日宴会答谢词
2014/01/13 职场文书
调解员先进事迹材料
2014/02/07 职场文书
学校万圣节活动方案
2014/02/13 职场文书
企业员工培训感言
2014/02/26 职场文书
领导干部群众路线教育实践活动剖析材料
2014/10/10 职场文书
大学生村官个人总结
2015/02/15 职场文书
三好学生竞选稿
2015/11/21 职场文书