更深層講解微信小程式實作左滑刪除
左滑刪除效果在app的互動方式中十分流行,例如全民應用微信
#微信左滑刪除
#再例如曾經引起很大反響的效率app Clear
Clear左滑刪除
從技術上來說,實現這個效果並不困難,回應一下滑動操作,移動一下元件,再加上些座標計算,狀態記錄就可以了。也有一些文章介紹了在小程式上如何實現這一效果,不過我基本上可以確定這些開發者沒有在真機上詳細測試,因為經我實踐發現,在小程式上想要完美實現這個效果幾乎是不可能的任務。
這一切要從小程式的事件機制說起。對於滑動類別操作,小程式提供了bind
和catch
兩種回應事件的方式,差異在於是否阻止事件冒泡,但卻沒有提供preventDefault
方法,也就是說無法在程式中動態決定是否阻止某個事件冒泡。
然後再說一下小程式的另一個特性,這個特性只在真機上有效,那就是框架預設為page提供了垂直方向的滾動效果,無需寫一行程式碼,並且小程式還貼心的提供了onPullDownRefresh
和onReachBottom
,嗯,一切都很完美。
然後當這些特性遇到左滑效果,那就尷尬了。完美的左滑刪除效果,當判定為水平滑動時,要忽略用戶垂直方向上的移動(畢竟不能指望用戶的手指不會上下抖動吧)。然而因為沒有preventDefault
方法,要嘛catch住滑動事件,要嘛你就只能期待用戶的手指嚴格水平滑動了。
由於上述原因,在我見到的小程式中,幾乎沒有使用左滑刪除操作的,說幾乎是因為確實有一款實現了該效果,印象微筆記清單
#印象微筆記清單
可以看到在左滑時頁面也會同時上下滾動,體驗並不好。 (順便說一句,印象微筆記清單早起版本使用scroll-view
實現該效果,體驗就更差了)
當然,也可以catch滑動事件,不過這樣水平滑動時沒問題,垂直滑動時你也不會看到任何反應了。
當我發現這些問題時感到十分沮喪,不過我想問題的核心就是要能動態阻止頁面垂直滾動。而除了view之外,scroll-view也具備垂直滾動的能力,並且還有一個屬性scroll-y Boolean false 允許縱向滾動
。是的,我想你們也想到了,只要在適當的條件下動態設定該屬性,那就應該可以達到想要的效果了。
從實作上來講,應該先停用垂直捲動,在判定使用者為垂直操作後啟動該屬性,嗯,完美。但事實又一次打了我的臉,在touchmove
事件中激活該屬性並不能激活垂直滾動效果。
那就反過來,首先啟動垂直滾動,在判定水平操作後禁用該屬性。嗯,實踐證明該方法可行,但仍有問題。在我們判定滑動方向之前,使用者很有可能在垂直方向有移動,雖然很微小,但依然會感受到頁面的上下滾動。
下面是我按照這個想法實現的仿微信首頁效果
#左滑刪除
在後續的文章中,我會展示另一種實現該效果的方法,可以完美消除頁面垂直滾動問題,不過仍然會有其它限制。
以上是更深層講解微信小程式實作左滑刪除的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

閒魚官方微信小程式悄悄上線,在小程式中可以發布閒置與買家/賣家私訊交流、查看個人資料及訂單、搜尋物品等,有用好奇閒魚微信小程式叫什麼,現在快來看一下。閒魚微信小程式叫什麼答案:閒魚,閒置交易二手買賣估價回收。 1、在小程式中可以發布閒置、與買家/賣家私訊交流、查看個人資料及訂單、搜尋指定物品等功能;2、在小程式的頁面中有首頁、附近、發閒置、訊息、我的5項功能;3、想要使用的話必要要開通微信支付才可以購買;

微信小程式實現圖片上傳功能隨著行動網路的發展,微信小程式已經成為了人們生活中不可或缺的一部分。微信小程式不僅提供了豐富的應用場景,還支援開發者自訂功能,其中包括圖片上傳功能。本文將介紹如何在微信小程式中實作圖片上傳功能,並提供具體的程式碼範例。一、前期準備工作在開始編寫程式碼之前,我們需要先下載並安裝微信開發者工具,並註冊成為微信開發者。同時,也需要了解微信

實現微信小程式中的下拉式選單效果,需要具體程式碼範例隨著行動互聯網的普及,微信小程式成為了網路開發的重要一環,越來越多的人開始關注和使用微信小程式。微信小程式的開發相比傳統的APP開發更加簡單快捷,但也需要掌握一定的開發技巧。在微信小程式的開發中,下拉式選單是一個常見的UI元件,實現了更好的使用者操作體驗。本文將詳細介紹如何在微信小程式中實現下拉式選單效果,並提供具

實現微信小程式中的圖片濾鏡效果隨著社群媒體應用程式的流行,人們越來越喜歡在照片中應用濾鏡效果,以增強照片的藝術效果和吸引力。在微信小程式中也可以實現圖片濾鏡效果,為使用者提供更多有趣和創意的照片編輯功能。本文將介紹如何在微信小程式中實現圖片濾鏡效果,並提供具體的程式碼範例。首先,我們需要在微信小程式中使用canvas元件來載入和編輯圖片。 canvas元件可以在頁面

使用微信小程式實現輪播圖切換效果微信小程式是一種輕量級的應用程序,具有簡單、高效的開發和使用特點。在微信小程式中,實作輪播圖切換效果是常見的需求。本文將介紹如何使用微信小程式實現輪播圖切換效果,並給出具體的程式碼範例。首先,在微信小程式的頁面檔案中,新增一個輪播圖元件。例如,可以使用<swiper>標籤來實現輪播圖的切換效果。在該組件中,可以透過b

閒魚官方微信小程式已經悄悄上線,它為用戶提供了一個便捷的平台,讓你可以輕鬆地發布和交易閒置物品。在小程式中,你可以與買家或賣家進行私訊交流,查看個人資料和訂單,以及搜尋你想要的物品。那麼閒魚在微信小程式中究竟叫什麼呢,這篇教學攻略將為您詳細介紹,想要了解的用戶們快來跟著本文繼續閱讀吧!閒魚微信小程式叫什麼答案:閒魚,閒置交易二手買賣估價回收。 1、在小程式中可以發布閒置、與買家/賣家私訊交流、查看個人資料及訂單、搜尋指定物品等功能;2、在小程式的頁面中有首頁、附近、發閒置、訊息、我的5項功能;3、

實作微信小程式中的滑動刪除功能,需要具體程式碼範例隨著微信小程式的流行,開發者在開發過程中經常會遇到一些常見功能的實作問題。其中,滑動刪除功能是常見、常用的功能需求。本文將為大家詳細介紹如何在微信小程式中實現滑動刪除功能,並給出具體的程式碼範例。一、需求分析在微信小程式中,滑動刪除功能的實作涉及以下要點:列表展示:要顯示可滑動刪除的列表,每個列表項目需要包

實現微信小程式中的圖片旋轉效果,需要具體程式碼範例微信小程式是一種輕量級的應用程序,為用戶提供了豐富的功能和良好的用戶體驗。在小程式中,開發者可以利用各種元件和API來實現各種效果。其中,圖片旋轉效果是一種常見的動畫效果,可以為小程式增添趣味性和視覺效果。在微信小程式中實作圖片旋轉效果,需要使用小程式提供的動畫API。以下是一個具體的程式碼範例,展示如何在小程
