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


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实现 在光标处插入指定内容
May 25 Javascript
可编辑下拉框的2种实现方式
Jun 13 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(下)
Oct 28 Javascript
javascript中加var和不加var的区别 你真的懂吗
Jan 06 Javascript
XML、HTML、CSS与JS的区别整理
Feb 18 Javascript
JavaScript笔记之数据属性和存储器属性
Mar 31 Javascript
正则表达式,替换所有HTML标签的简单实例
Nov 28 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
Oct 26 Javascript
浅析Angular19 自定义表单控件
Jan 31 Javascript
Vue中render函数的使用方法
Jan 31 Javascript
angular组件间传值测试的方法详解
May 07 Javascript
vue 数据双向绑定的实现方法
Mar 04 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面试题集锦
2012/03/08 PHP
PHP序列号生成函数和字符串替换函数代码
2012/06/07 PHP
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
2014/01/22 PHP
ThinkPHP3.1.3版本新特性概述
2014/06/19 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
2020/06/03 PHP
Javascript 面向对象 命名空间
2010/05/13 Javascript
jQuery学习笔记之jQuery原型属性和方法
2014/06/09 Javascript
javascript中call和apply的用法示例分析
2015/04/02 Javascript
详解AngularJS中的依赖注入机制
2015/06/17 Javascript
基于jquery实现select选择框内容左右移动添加删除代码分享
2015/08/25 Javascript
JS+CSS实现仿雅虎另类滑动门切换效果
2015/10/13 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
2016/07/27 Javascript
javascript常用经典算法详解
2017/01/11 Javascript
nodejs实现范围请求的实现代码
2018/10/12 NodeJs
jQuery对底部导航进行跳转并高亮显示的实例代码
2019/04/23 jQuery
node.js使用 http-proxy 创建代理服务器操作示例
2020/02/10 Javascript
Vue toFixed保留两位小数的3种方式
2020/10/23 Javascript
解决js中的setInterval清空定时器不管用问题
2020/11/17 Javascript
wxPython学习之主框架实例
2014/09/28 Python
python操作mysql代码总结
2018/06/01 Python
pycharm下查看python的变量类型和变量内容的方法
2018/06/26 Python
对python 多个分隔符split 的实例详解
2018/12/20 Python
对IPython交互模式下的退出方法详解
2019/02/16 Python
python 计算积分图和haar特征的实例代码
2019/11/20 Python
基于Tensorflow使用CPU而不用GPU问题的解决
2020/02/07 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
Python 串口通信的实现
2020/09/29 Python
python中K-means算法基础知识点
2021/01/25 Python
CSS3 3D位移translate效果实例介绍
2016/05/03 HTML / CSS
WebSphere 应用服务器都支持哪些认证
2013/12/26 面试题
销售员个人求职的自我评价
2014/02/10 职场文书
《绿色蝈蝈》教学反思
2014/03/02 职场文书
产品生产计划书
2014/05/07 职场文书
个人查摆剖析材料
2014/10/04 职场文书
销售2014年度工作总结
2014/12/08 职场文书
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python