全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

微信小程序 向左滑动删除功能的实现

微信小程序 向左滑动删除功能的实现

实现效果图:

实现代码:

1、wxml touch-item元素绑定了bindtouchstart、bindtouchmove事件

<view class="container">
 <view class="touch-item {{item.isTouchMove ? 'touch-move-active' : ''}}" data-index="{{index}}" bindtouchstart="touchstart" bindtouchmove="touchmove" wx:for="{{items}}" wx:key="">
  <view class="content">{{item.content}}</view>
  <view class="del" catchtap="del" data-index="{{index}}">删除</view>
 </view>
</view>

2、wxss flex布局、css3动画

.touch-item {
 font-size: 14px;
 display: flex;
 justify-content: space-between;
 border-bottom:1px solid #ccc;
 width: 100%;
 overflow: hidden
}
.content {
 width: 100%;
 padding: 10px;
 line-height: 22px;
 margin-right:0;
 -webkit-transition: all 0.4s;
 transition: all 0.4s;
 -webkit-transform: translateX(90px);
 transform: translateX(90px);
 margin-left: -90px
}
.del {
 background-color: orangered;
 width: 90px;
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 color: #fff;
 -webkit-transform: translateX(90px);
 transform: translateX(90px);
 -webkit-transition: all 0.4s;
 transition: all 0.4s;
}
.touch-move-active .content,
.touch-move-active .del {
 -webkit-transform: translateX(0);
 transform: translateX(0);
}

3、js 注释很详细

var app = getApp()
Page({
 data: {
  items: [],
  startX: 0, //开始坐标
  startY: 0
 },
 onLoad: function () {
  for (var i = 0; i < 10; i++) {
   this.data.items.push({
    content: i + " 向左滑动删除哦,向左滑动删除哦,向左滑动删除哦,向左滑动删除哦,向左滑动删除哦",
    isTouchMove: false //默认全隐藏删除
   })
  }
  this.setData({
   items: this.data.items
  })
 },
 //手指触摸动作开始 记录起点X坐标
 touchstart: function (e) {
  //开始触摸时 重置所有删除
  this.data.items.forEach(function (v, i) {
   if (v.isTouchMove)//只操作为true的
    v.isTouchMove = false;
  })
  this.setData({
   startX: e.changedTouches[0].clientX,
   startY: e.changedTouches[0].clientY,
   items: this.data.items
  })
 },
 //滑动事件处理
 touchmove: function (e) {
  var that = this,
   index = e.currentTarget.dataset.index,//当前索引
   startX = that.data.startX,//开始X坐标
   startY = that.data.startY,//开始Y坐标
   touchMoveX = e.changedTouches[0].clientX,//滑动变化坐标
   touchMoveY = e.changedTouches[0].clientY,//滑动变化坐标
   //获取滑动角度
   angle = that.angle({ X: startX, Y: startY }, { X: touchMoveX, Y: touchMoveY });
  that.data.items.forEach(function (v, i) {
   v.isTouchMove = false
   //滑动超过30度角 return
   if (Math.abs(angle) > 30) return;
   if (i == index) {
    if (touchMoveX > startX) //右滑
     v.isTouchMove = false
    else //左滑
     v.isTouchMove = true
   }
  })
  //更新数据
  that.setData({
   items: that.data.items
  })
 },
 /**
  * 计算滑动角度
  * @param {Object} start 起点坐标
  * @param {Object} end 终点坐标
  */
 angle: function (start, end) {
  var _X = end.X - start.X,
   _Y = end.Y - start.Y
  //返回角度 /Math.atan()返回数字的反正切值
  return 360 * Math.atan(_Y / _X) / (2 * Math.PI);
 },
 //删除事件
 del: function (e) {
  this.data.items.splice(e.currentTarget.dataset.index, 1)
  this.setData({
   items: this.data.items
  })
 }
})

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# 小程序  # 滑动删除功能  # 微信小程序  # 滑动删除  # 微信小程序左滑删除效果的实现代码  # 微信小程序 侧滑删除(左滑删除)  # 微信小程序实现左滑修改、删除功能  # 微信小程序列表中item左滑删除功能  # 微信小程序uniapp实现左滑删除效果(完整代码)  # 微信小程序实现左滑动删除效果  # 微信小程序实现收货地址左滑删除  # 微信小程序左滑删除功能开发案例详解  # 微信小程序左滑删除实现代码实例  # 微信小程序实现左滑删除效果源码  # 希望能  # 谢谢大家  # 定了  # size  # font  # justify  # display  # px  # css  # catchtap  # del  # content  # flex  # wxss  # padding  # hidden  # overflow  # height  # line  # bottom 


相关文章: 建站主机选哪种环境更利于SEO优化?  建站之星北京办公室:智能建站系统与小程序生成方案解析  韩国服务器如何优化跨境访问实现高效连接?  如何快速上传自定义模板至建站之星?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  如何快速搭建高效简练网站?  家庭建站与云服务器建站,如何选择更优?  建站之星安装后如何配置SEO及设计样式?  建站三合一如何选?哪家性价比更高?  定制建站流程步骤详解:一站式方案设计与开发指南  如何在云服务器上快速搭建个人网站?  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  建站之星如何优化SEO以实现高效排名?  音乐网站服务器如何优化API响应速度?  相册网站制作软件,图片上的网址怎么复制?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  c# await 一个已经完成的Task会发生什么  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  制作网页的网站有哪些,电脑上怎么做网页?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  股票网站制作软件,网上股票怎么开户?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  如何用免费手机建站系统零基础打造专业网站?  建站之星如何修改网站生成路径?  大型企业网站制作流程,做网站需要注册公司吗?  较简单的网站制作软件有哪些,手机版网页制作用什么软件?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  高防服务器租用指南:配置选择与快速部署攻略  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  如何通过虚拟主机快速搭建个人网站?  定制建站哪家更专业可靠?推荐榜单揭晓  如何在云主机上快速搭建网站?  如何在IIS中新建站点并解决端口绑定冲突?  网站制作新手教程,新手建设一个网站需要注意些什么?  网站app免费制作软件,能免费看各大网站视频的手机app?  Python文件管理规范_工程实践说明【指导】  如何快速完成中国万网建站详细流程?  建站之星代理费用多少?最新价格详情介绍  如何破解联通资金短缺导致的基站建设难题?  清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  网站制作的步骤包括,正确网址格式怎么写?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  活动邀请函制作网站有哪些,活动邀请函文案?  IOS倒计时设置UIButton标题title的抖动问题 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。