搜尋
首頁頭條今日h5特效推薦:最近超流行的 H5 下拉上滑動效

在APP中我們常會在頁面下拉時看到一些動效,例如下拉圖片跟隨放大、下拉刷新出現loading動畫等,這個交互細節在各個主流APP以及手機原生系統中隨處可見,能為APP增添個性亮點。

一、背景

在我們的日常專案中,也會遇到這樣的需求,在當前環境下,此類效果大多是靠原生來實現的,但是用原生實現有不少缺陷,原因如下:

  • 原生實作週期長;

  • #跨平台實作成本高;

  • #解決方案通用性差;

  • 運用到現有專案改造成本高;

那麼我們的H5頁面能否實現呢?下面和大家一起來探索。

首先,我們先來實作下拉banner圖放大的動效。效果類似:

今日h5特效推薦:最近超流行的 H5 下拉上滑動效

動效需求:當處於頂部頁面下拉時,banner圖跟隨放大,下拉結束時,banner圖還原回彈。

下拉動效可以分解為兩部分:

  1. 頁面主體內容整體下滑滾動;

  2. 頂部元素進行放大動效。

以往,在H5實現頁面滾動效果是一般採用JS插件模擬滾動,例如:iScroll。但這裡有幾個問題:

  • 對現有頁面的改造非常大,不適合大範圍運用;

  • ##模擬滾動取代原生捲動會引發未知的bug;

  • 在低階手機效能差,體驗不佳;

要解決這些問題,可以採用如下方案:

1,保持頁面的原生捲動,只有在頂部下拉事件中,才觸發動效執行;

2,用JS拷貝DOM結構,使動效結構與頁面結構解耦,互不影響;

這樣下拉動效會相對更流暢並基本上不影響頁面正常捲動。

二、技術實作

依照上面的技術方案實施,具體流程為:

停用頁面頂端下拉事件 ------>  將頁面的主體內容用一個p容器包含起來,同時複製需要放大處理的內容節點至主體內容之外 ------> 綁定頁面滑屏事件 ------> 計算滑屏偏移量以及縮放等數值的運算 ------> 根據變化數值主體內容transfrom下滑,同時複製的節點做放大動效處理 ------> 監聽滑屏事件結束,執行回彈動效,還原初始狀態

程式碼節選片段:

今日h5特效推薦:最近超流行的 H5 下拉上滑動效

要點及說明:

#1、停用頁面頂部下拉事件:

此技術要點是阻止預設事件的下拉,從而將下拉事件綁定到我們的動效中。阻止預設事件我們一般可以這樣子處理:

今日h5特效推薦:最近超流行的 H5 下拉上滑動效

但是此方法有一定缺陷。首先他禁止了頁面的正常滑動,對頁面的造成了不少的干擾和麻煩;其次是在一些APP中的WebView中並不能根本上的阻止View的下拉,對頁面動效造成乾擾。

這裡最好的一個處理方法是可以在WebView的層面上去禁止頁面下拉。

2、需判斷滑屏方向,避免橫向滑動幹擾下拉動效。公式計算:

X = 絕對值(目前座標X - 初始座標X)

Y = 絕對值(目前座標Y - 初始座標Y)

計算結果X大於Y,則為橫向滑動,反之為垂直滑動。

今日h5特效推薦:最近超流行的 H5 下拉上滑動效

3、滑幕偏移量,縮放動效及下拉動效的數值公式計算

今日h5特效推薦:最近超流行的 H5 下拉上滑動效

4、動效結束,慣性回彈動效

回彈效果是模擬慣性的曲線運動,由前面程式碼片段中的to() 動畫函數完成。以下是曲線運動函數:

今日h5特效推薦:最近超流行的 H5 下拉上滑動效

此方法來自AlloyTouch元件。

5、存在的待最佳化問題:

滑動螢幕動效與原生動效在細節上還是有差別,具體演算法有待更進一步的最佳化。

三、Demo效果示範

今日h5特效推薦:最近超流行的 H5 下拉上滑動效

今日h5特效推薦:最近超流行的 H5 下拉上滑動效

#至此,頂部的banner圖放大的動效已經完成。

除了頂部的banner圖可以這樣子玩,我們還嘗試了更多花樣,例如頂部的slider輪播圖也增加下拉放大的動效。由於這裡的結構更為複雜,且slider輪播圖的內容會改變的,因此放大動效部分的內容也需要保持更換。實現後的效果如下:

2-今日h5特效推薦:最近超流行的 H5 下拉上滑動效

今日h5特效推薦:最近超流行的 H5 下拉上滑動效

#:因為部分安卓效​​能較差,會影響動畫效果,此效果在IOS手機體驗效果更佳。

另外,除了在現有元素上做動畫,我們也可以下拉時增加一些有趣的元素,例如彩蛋、品牌元素等,實現方法與上面一致,只是不需要拷貝DOM結構那一步,而是直接寫出一個需要執行動效的DOM結構。實現後的效果如下:

今日h5特效推薦:最近超流行的 H5 下拉上滑動效

今日h5特效推薦:最近超流行的 H5 下拉上滑動效

四、除了下拉動效還能做滑動效嗎?

前面我們已經實現了下拉動效,那麼我們是否可以繼續擴散思路,也可以用在別的場景呢?例如我們在頁面滑到底部時可以拉出一個有趣的動畫當彩蛋。

答案是肯定的,Do it!

技術方案與實作

這裡下拉動效與上滑動效實現原理基本一致,但不同的是需要監聽頁面捲動到底部,然後再觸發效。

部分程式碼如下:

今日h5特效推薦:最近超流行的 H5 下拉上滑動效

最後的示範效果示範如下:

今日h5特效推薦:最近超流行的 H5 下拉上滑動效

今日h5特效推薦:最近超流行的 H5 下拉上滑動效

#五、總結

在體驗至上的現今,我們的產品對體驗更是精益求精。面臨不同的產品需求,我們需要正確選擇適當的技術解決方案,不管是原生開發、H5開發、或Hybrid App混合開發,其最終的目的是完美的解決產品需求,沒有最好的技術,只有最佳的技術解決方案。

更多html5特效,請關注php中文網h5特效專欄:http://www.php.cn/xiazai/js/html5

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。