<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了微信小程式左右滑動刪除事件,供大家參考,具體內容如下
效果圖
上程式碼
<scroll-view scroll-y enable-back-to-top style="height:{{ scrollHeight }}px" > <view> <block wx:for="{{ list }}" wx:for-item="item" wx:for-index="index" wx:key="index" > <view class="list {{ item.isTouchMove ? 'touch-move-active' : '' }}" bindtouchstart="touchStart" bindtouchmove="touchMove" data-index="{{ index }}" > <view class="txt">{{ item.id }} -- {{ item.title }}</view> <view class="del" bindtap="delList" data-index="{{ index }}" > 刪除 </view> </view> </block> </view> </scroll-view>
/* 列表 */ .list { display: flex; justify-content: space-between; width: 100%; height: 100rpx; line-height: 100rpx; overflow: hidden; text-align: center; border-bottom: 1px solid #cccccc; } /* 列表內容 */ .list .txt { flex-grow: 1; width: 100%; margin-left: -150rpx; background-color: #fff; } /* 刪除按鈕 */ .list .del { flex-grow: 0; width: 150rpx; color: #fff; background-color: #fe3e2f; } .list .txt, .list .del { transform: translateX(150rpx); transition: all 0.4s; } .touch-move-active .txt,.touch-move-active .del { -webkit-transform: translateX(0); transform: translateX(0); }
js:
Page({ /** * 頁面的初始資料 */ data: { list: [ { id: "0001", title: "商品1" }, { id: "0002", title: "商品2" }, // .......... ], scrollHeight: 0, // scroll-view高度 startX: 0, // 開始X座標 startY: 0, // 開始Y座標 }, // 手指觸控動作開始 touchStart: function(e){ let that = this; //開始觸控時 重置所有刪除 that.data.list.forEach(function (v, i) { if (v.isTouchMove) v.isTouchMove = false; // 只操作為true的 }) // 記錄手指觸控開始座標 that.setData({ startX: e.changedTouches[0].clientX, // 開始X座標 startY: e.changedTouches[0].clientY, // 開始Y座標 list: that.data.list }) }, // 手指觸控後移動 touchMove: function(e){ let 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.list.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({ list: that.data.list }) }, // 計算滑動角度 angle: function (start, end) { let that = this, _X = end.X - start.X, _Y = end.Y - start.Y; // 返回角度 /Math.atan()返回數位的反正切值 return 360 * Math.atan(_Y / _X) / (2 * Math.PI); }, // 刪除 delList: function(e){ let that = this, index = e.currentTarget.dataset.index; // 當前下標 // 切割當前下標元素,更新資料 that.data.list.splice(index, 1); that.setData({ list: that.data.list }) }, /** * 生命週期函數--監聽頁面載入 */ onLoad: function (options) { let that = this; // 動態獲取螢幕高度 that.setData({ scrollHeight: wx.getSystemInfoSync().screenHeight }) }, })
這是左滑動刪除,如需要右滑動刪除在js頁面調整一下就好。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45