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


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 相关文章推荐
用js计算页面执行时间的函数
Dec 07 Javascript
Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)
Jul 11 Javascript
Jquery多选框互相内容交换的实例代码
Jul 04 Javascript
浅谈javascript的分号的使用
May 12 Javascript
JQuery的Pager分页器实现代码
May 03 Javascript
浅谈js中的延迟执行和定时执行
May 31 Javascript
angularjs中使用ng-bind-html和ng-include的实例
Apr 28 Javascript
js判断传入时间和当前时间大小实例(超简单)
Jan 11 Javascript
详解js删除数组中的指定元素
Oct 31 Javascript
JavaScript设计模式之责任链模式实例分析
Jan 16 Javascript
Layui 导航默认展开和菜单栏选中高亮设置的方法
Sep 04 Javascript
vue3中轻松实现switch功能组件的全过程
Jan 07 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 post大量数据时发现数据丢失问题解决方法
2015/06/20 PHP
(转载)JavaScript中匿名函数,函数直接量和闭包
2007/05/08 Javascript
Google韩国首页图标动画效果
2007/08/26 Javascript
网页和浏览器兼容性问题汇总(draft1)
2009/06/01 Javascript
js constructor的实际作用分析
2011/11/15 Javascript
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
JS中showModalDialog 的使用解析
2013/04/17 Javascript
ajaxFileUpload.js插件支持多文件上传的方法
2014/09/02 Javascript
JavaScript常用脚本汇总(二)
2015/03/04 Javascript
js实现匹配时换色的输入提示特效代码
2015/08/17 Javascript
jQuery+PHP实现微信转盘抽奖功能的方法
2016/05/25 Javascript
利用JavaScript对中文(汉字)进行排序实例详解
2017/06/18 Javascript
详解vuejs之v-for列表渲染
2017/06/22 Javascript
vue.js todolist实现代码
2017/10/29 Javascript
nodejs取得当前执行路径的方法
2018/05/13 NodeJs
微信小程序网络请求封装示例
2018/07/24 Javascript
Vue+Django项目部署详解
2019/05/30 Javascript
js事件触发操作实例分析
2019/06/21 Javascript
JS如何实现封装列表右滑动删除收藏按钮
2020/07/23 Javascript
python执行外部程序的常用方法小结
2015/03/21 Python
python开发之thread实现布朗运动的方法
2015/11/11 Python
Python使用defaultdict读取文件各列的方法
2017/05/11 Python
Python使用time模块实现指定时间触发器示例
2017/05/18 Python
Python实现的圆形绘制(画圆)示例
2018/01/31 Python
python SQLAlchemy 中的Engine详解
2019/07/04 Python
Pytorch之contiguous的用法
2019/12/31 Python
多视角3D可旋转的HTML5 Logo动画
2016/03/02 HTML / CSS
请用Python写一个获取用户输入数字,并根据数字大小输出不同信息的脚本
2014/05/20 面试题
体育专业个人求职信范文
2013/12/27 职场文书
市场安全管理制度
2014/01/26 职场文书
求职信模板标准格式范文
2014/02/23 职场文书
表决心的诗句大全
2014/03/11 职场文书
商务专员岗位职责范本
2014/06/29 职场文书
贷款收入证明格式
2015/06/24 职场文书
班主任工作总结范文
2015/08/13 职场文书
涨工资申请书应该怎么写?
2019/07/08 职场文书