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


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 相关文章推荐
jQuery UI Dialog 创建友好的弹出对话框实现代码
Apr 12 Javascript
Js实现无刷新删除内容
Apr 29 Javascript
javascript简单实现滑动菜单效果的方法
Jul 27 Javascript
跟我学习javascript的隐式强制转换
Nov 16 Javascript
javascript从定义到执行 你不知道的那些事
Jan 04 Javascript
vue.js表格分页示例
Oct 18 Javascript
js实现一个简单的数字时钟效果
Mar 29 Javascript
Bootstrap实现可折叠分组侧边导航菜单
Mar 07 Javascript
详解VSCode配置启动Vue项目
May 14 Javascript
vue导航栏部分的动态渲染实例
Nov 01 Javascript
nuxt 页面路由配置,主页轮播组件开发操作
Nov 05 Javascript
vue实现动态表格提交参数动态生成控件的操作
Nov 09 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
兼容PHP5的PHP目录管理函数库
2008/07/10 PHP
PHP垃圾回收机制引用计数器概念分析
2013/06/24 PHP
php无限遍历目录示例
2014/02/21 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
2014/06/23 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
JavaScript 获取事件对象的注意点
2009/07/29 Javascript
extjs grid设置某列背景颜色和字体颜色的方法
2010/09/03 Javascript
Js 冒泡事件阻止实现代码
2013/01/27 Javascript
require.js深入了解 require.js特性介绍
2014/09/04 Javascript
JavaScript避免内存泄露及内存管理技巧
2014/09/05 Javascript
Javascript中封装window.open解决不兼容问题
2014/09/28 Javascript
JavaScript中提前声明变量或函数例子
2014/11/12 Javascript
JS学习之表格的排序简单实例
2016/05/16 Javascript
详解nodejs与javascript中的aes加密
2016/05/22 NodeJs
基于JavaScript实现的快速排序算法分析
2017/04/14 Javascript
Node.js开发第三方微信公众平台
2017/06/05 Javascript
JavaScript实现带有子菜单和控件的slider轮播图效果
2017/11/01 Javascript
小程序组件之自定义顶部导航实例
2019/06/12 Javascript
js使用cookie实现记住用户名功能示例
2019/06/13 Javascript
jquery轻量级数字动画插件countUp.js使用详解
2019/10/17 jQuery
安装多版本Vue-CLI的实现方法
2020/03/24 Javascript
JS实现audio音频剪裁剪切复制播放与上传(步骤详解)
2020/07/28 Javascript
解决Python出现_warn_unsafe_extraction问题的方法
2016/03/24 Python
详解Python 协程的详细用法使用和例子
2018/06/15 Python
浅谈dataframe中更改列属性的方法
2018/07/10 Python
在pandas多重索引multiIndex中选定指定索引的行方法
2018/11/16 Python
python实现基于朴素贝叶斯的垃圾分类算法
2019/07/09 Python
pymysql模块的使用(增删改查)详解
2019/09/09 Python
pandas DataFrame 数据选取,修改,切片的实现
2020/04/24 Python
Python xpath表达式如何实现数据处理
2020/06/13 Python
ONLY德国官方在线商店:购买时尚女装
2017/09/21 全球购物
电脑专业个人求职信范文
2014/02/04 职场文书
婚礼答谢礼品
2015/01/20 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书
如何利用golang运用mysql数据库
2022/03/13 Golang