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


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验证表单大全
Nov 25 Javascript
Firefox div高度自适应
Apr 28 Javascript
jQuery 表单验证扩展代码(二)
Oct 20 Javascript
基于Jquery制作的幻灯片图集效果打包下载
Feb 12 Javascript
Javascript实现图片懒加载插件的方法
Oct 20 Javascript
原生javascript实现的ajax异步封装功能示例
Nov 03 Javascript
angularjs ocLazyLoad分步加载js文件实例
Jan 17 Javascript
ECMAScript6--解构
Mar 30 Javascript
Vue组件和Route的生命周期实例详解
Feb 10 Javascript
vue2使用keep-alive缓存多层列表页的方法
Sep 21 Javascript
解决vue自定义全局消息框组件问题
Nov 22 Javascript
JS数据类型(基本数据类型、引用数据类型)及堆和栈的区别分析
Mar 04 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
thinkphp 多表 事务详解
2013/06/17 PHP
实现PHP多线程异步请求的3种方法
2014/01/17 PHP
用PHP去掉文件头的Unicode签名(BOM)方法
2017/06/22 PHP
PHP设计模式之适配器模式原理与用法分析
2018/04/25 PHP
php中关于换行的实例写法
2019/09/26 PHP
javascript 写类方式之四
2009/07/05 Javascript
JS继承 笔记
2011/07/13 Javascript
jQuery UI Autocomplete 1.8.16 中文输入修正代码
2012/04/16 Javascript
用Javascript获取页面元素的具体位置
2013/12/09 Javascript
谷歌地图打不开的解决办法
2014/08/07 Javascript
JavaScript数组各种常见用法实例分析
2015/08/04 Javascript
基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
2020/12/24 Javascript
Javascript 6里的4个新语法
2016/08/25 Javascript
JS实现的点击表头排序功能示例
2017/03/27 Javascript
微信JS-SDK选取手机照片上传功能
2017/04/21 Javascript
js原生日历的实例(推荐)
2017/10/31 Javascript
jQuery实现checkbox即点即改批量删除及中间遇到的坑
2017/11/11 jQuery
利用Vue2.x开发实现JSON树的方法
2018/01/04 Javascript
微信小程序自定义tab实现多层tab嵌套功能
2018/06/15 Javascript
JS的函数调用栈stack size的计算方法
2018/06/24 Javascript
[01:09:01]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第一场 10.28
2020/10/28 DOTA
python实现两个文件合并功能
2018/04/01 Python
Python面向对象之类的定义与继承用法示例
2019/01/14 Python
Linux上使用Python统计每天的键盘输入次数
2019/04/17 Python
使用Python正则表达式操作文本数据的方法
2019/05/14 Python
Python利用Scrapy框架爬取豆瓣电影示例
2020/01/17 Python
css3编写浏览器背景渐变背景色的方法
2018/03/05 HTML / CSS
CSS3+HTML5+JS 实现一个块的收缩与展开动画效果
2020/11/17 HTML / CSS
HTML5-WebSocket实现聊天室示例
2016/12/15 HTML / CSS
办公室前台岗位职责
2014/01/04 职场文书
搞笑的爱情检讨书
2014/10/01 职场文书
社区环境卫生倡议书
2015/04/29 职场文书
2015年安全保卫工作总结
2015/05/14 职场文书
2019学生会干事辞职信
2019/06/27 职场文书
Python中常见的导入方式总结
2021/05/06 Python
mysql insert 存在即不插入语法说明
2022/03/25 MySQL