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

实现效果图:
实现代码:
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小时内与您取得联系。