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


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 相关文章推荐
一个刚完成的layout(拖动流畅,不受iframe影响)
Aug 17 Javascript
基于Jquery的仿Windows Aero弹出窗(漂亮的关闭按钮)
Sep 28 Javascript
Google AJAX 搜索 API实现代码
Nov 17 Javascript
JavaScript实现简单Tip提示框效果
Apr 20 Javascript
基于gulp合并压缩Seajs模块的方式说明
Jun 14 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
Jun 12 Javascript
使用Vue-Router 2实现路由功能实例详解
Nov 14 Javascript
vue 权限认证token的实现方法
Jul 17 Javascript
vue.js自定义组件directives的实例代码
Nov 09 Javascript
详解微信小程序文件下载--视频和图片
Apr 24 Javascript
JavaScript链式调用原理与实现方法详解
May 16 Javascript
NestJs使用Mongoose对MongoDB操作的方法
Feb 22 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
基于mysql的bbs设计(四)
2006/10/09 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
2013/07/01 PHP
浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
2015/10/26 PHP
php redis实现对200w用户的即时推送
2017/03/04 PHP
详解PHP防止直接访问.php 文件的实现方法
2017/07/28 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
Yii框架学习笔记之session与cookie简单操作示例
2019/04/30 PHP
用javascript实现画板的代码
2007/09/05 Javascript
公共js在页面底部加载的注意事项介绍
2013/07/18 Javascript
jquery点击缩略图切换视频播放特效代码分享
2015/09/15 Javascript
基于jquery实现百度新闻导航菜单滑动动画
2016/03/15 Javascript
基于jQuery倒计时插件实现团购秒杀效果
2016/05/13 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
2016/08/24 Javascript
js实现下一页页码效果
2017/03/07 Javascript
JavaScript定义及输出螺旋矩阵的方法详解
2017/12/01 Javascript
Vue 2.0学习笔记之使用$refs访问Vue中的DOM
2017/12/19 Javascript
js提取中文拼音首字母的封装工具类
2018/03/12 Javascript
jQuery使用bind动态绑定事件无效的处理方法
2018/12/11 jQuery
彻底揭秘keep-alive原理(小结)
2019/05/05 Javascript
python 文件操作api(文件操作函数)
2016/08/28 Python
python使用正则表达式匹配字符串开头并打印示例
2017/01/11 Python
python使用udp实现聊天器功能
2018/12/10 Python
tensorflow中tf.slice和tf.gather切片函数的使用
2020/01/19 Python
解决redis与Python交互取出来的是bytes类型的问题
2020/07/16 Python
Python requests HTTP验证登录实现流程
2020/11/05 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
2021/01/08 Python
StubHub新西兰:购买和出售你的门票
2019/04/22 全球购物
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
大专应届生个人简历的自我评价
2013/10/15 职场文书
师范应届生求职信
2013/11/15 职场文书
英文自我鉴定
2013/12/10 职场文书
平面设计岗位职责
2013/12/14 职场文书
销售顾问工作计划书
2014/09/15 职场文书
商务司机岗位职责
2015/04/10 职场文书
学校团代会开幕词
2016/03/04 职场文书
python使用XPath解析数据爬取起点小说网数据
2021/04/22 Python