這篇文章主要介紹了小程序怎么實現(xiàn)左滑刪除效果,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
10年積累的網(wǎng)站設(shè)計、做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有天寧免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
小程序?qū)崿F(xiàn)左滑刪除效果的具體內(nèi)容如下
1、movable-area基本概念
實現(xiàn)思路:
大家仔細去看看官網(wǎng)的文檔后再來看我寫的這篇文章可能會更好理解。
(1)movable-area這個就是定義了一個移動的區(qū)域,跟普通的
注意:movable-area 必須設(shè)置width和height屬性,不設(shè)置默認為10px
(2)movable-view這個就是一個可移動的視圖容器,可以在頁面中拖拽滑動。
movable-view 必須設(shè)置width和height屬性,不設(shè)置默認為10px
movable-view 默認為絕對定位,top和left屬性為0px
當(dāng)movable-view小于movable-area時,movable-view的移動范圍是在movable-area內(nèi);當(dāng)movable-view大于movable-area時,movable-view的移動范圍必須包含movable-area(x軸方向和y軸方向分開考慮)
但是要注意: movable-view必須在
有這么一些屬性看微信小程序api
OK,這就是關(guān)于movable-area組件的一些基本概念的介紹,接下來我們實踐實踐。
2、頁面結(jié)構(gòu)
(1)這是我們html基本頁面結(jié)構(gòu),我主要來解釋一下movable-view的屬性起到了一些什么作用。
首先我們定義了direction方向為horizontal(橫向);
然后x就是偏移方向,這里我們給個默認值為0;
out-of-bounds定義當(dāng)超過可移動區(qū)域后,還可以移動;
damping為阻尼系數(shù),設(shè)置為100就是讓它移動快點;
最后綁定了一個在拖動過程中觸發(fā)的事件、觸摸開始和結(jié)束事件。
代碼如下:
html
左滑刪除 刪除
css:
.container { padding: 0; } page { padding: 0; } .main { display: flex; flex-direction: column; align-items: center; } .main_item { display: flex; flex-direction: row; background: #fff; overflow: hidden; } movable-area { width: 532rpx; height: 201rpx; background: #fff; } movable-view { width: 716rpx; height: 201rpx; } .main_item_content { box-sizing: border-box; height: 201rpx; border-radius: 10rpx; line-height: 201rpx; color: #8e8e8e; padding-left: 10px; background: #eee; } .delete_btn { width: 184rpx; height: 201rpx; background-color: #8FC31F; border-top-right-radius: 10px; border-bottom-right-radius: 10px; color: #fff; font-size: 28rpx; text-align: center; line-height: 201rpx; }
js:
// pages/listDel/index.js Page({ /** * 頁面的初始數(shù)據(jù) */ data: { // x軸方向的偏移 x: 0, // 當(dāng)前x的值 currentX: 0 }, handleMovableChange: function(e) { // this.data.currentX = e.detail.x; this.data.currentX = e.detail.x; }, handleTouchend: function(e) { this.isMove = true; if (this.data.currentX < -46) { this.data.x = -92; this.setData({ x: this.data.x }); } else { this.data.x = 0; this.setData({ x: this.data.x }); } }, handleTouchestart: function(e) {}, /** * 生命周期函數(shù)--監(jiān)聽頁面加載 */ onLoad: function(options) { // let _this = this; // wx.createSelectorQuery().selectAll('.delBtn ').boundingClientRect(function(rect) { // _this.data.delWidth = rect[0].width; // }).exec(); }, /** * 生命周期函數(shù)--監(jiān)聽頁面初次渲染完成 */ onReady: function() { }, /** * 生命周期函數(shù)--監(jiān)聽頁面顯示 */ onShow: function() { }, /** * 生命周期函數(shù)--監(jiān)聽頁面隱藏 */ onHide: function() { }, /** * 生命周期函數(shù)--監(jiān)聽頁面卸載 */ onUnload: function() { }, /** * 頁面相關(guān)事件處理函數(shù)--監(jiān)聽用戶下拉動作 */ onPullDownRefresh: function() { }, /** * 頁面上拉觸底事件的處理函數(shù) */ onReachBottom: function() { }, /** * 用戶點擊右上角分享 */ onShareAppMessage: function() { } })
2:touchstart、touchmove 如果大家想了解的更清楚可以查看幫助文檔的哦
感謝你能夠認真閱讀完這篇文章,希望小編分享的“小程序怎么實現(xiàn)左滑刪除效果”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!