Fiori裡花瓣的動畫效果實現原理
Fiori裡的busy dialog有兩種表現形式,一種是下圖裡的花朵形狀,由5個不斷旋轉的花瓣組成。另一種是下圖的3/4個圓環不斷旋轉的效果。
關於前者的效果,可以看我製作的這個影片。這個影片是手動將下圖setTimeout的300毫秒延時改成30秒之後的效果,意思是30秒之後這個花瓣效果才消失。
1. 根據偵錯程式裡呼叫棧的觀察,每當url發生變化時,會觸發sap.ui.controller.doHashChange,該方法則會呼叫openLoadingScreen.這個方法裡會建立BusyDialog的例項並呼叫open方法。Busy Dialog的實現位置: /sap/bc/ui5_ui5/ui2/ushell/resources/sap/m/BusyDialog.js
2. 動畫效果的渲染實現位置: /sap/bc/ui5_ui5/ui2/ushell/resources/sap/ui/core/Popup.js.
第52行的renderFioriFlower方法:
從97行的迴圈能看出在迴圈體內建立了5個div element,實際上就是UI Fiori動畫效果裡的5個花瓣。
3.Fiori動畫效果顯示之後,什麼時候消失?
使用setTimeout將LoadingDialog的關閉動作加入到執行佇列裡。如果300毫秒之後(第188行的引數)執行佇列裡沒有其他待執行的事件,則關閉該Dialog。
要獲取更多Jerry的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2151484/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SAP Fiori Elements裡Drop down list的實現原理
- Flutter動畫實現粒子漂浮效果Flutter動畫
- Web 頁面如何實現動畫效果Web動畫
- Flutter 類抽屜效果動畫實現。Flutter動畫
- 加入購物車動畫效果實現動畫
- 前端動畫效果實現的簡單比較前端動畫
- MaterialDesign系列文章(十二)ConstraintLayout實現的動畫效果AI動畫
- 萬彩動畫大師教程 | 如何實現物件的閃動的動畫效果動畫物件
- Flutter PIP(畫中畫)效果的實現Flutter
- Flutter動畫實現原理淺析Flutter動畫
- Android動畫實現繪製原理Android動畫
- css3實現動畫閃爍效果CSSS3動畫
- ul>li*3 實現翻書動畫效果動畫
- Flutter實戰動畫番外篇-翻頁效果實現Flutter動畫
- 前端動畫實現以及原理淺析前端動畫
- 用Provider實現商品加入購物車的動畫效果IDE動畫
- CSS3實現王者匹配時的粒子動畫效果CSSS3動畫
- js利用H5的requestAnimationFrame()API實現動畫效果JSH5requestAnimationFrameAPI動畫
- 高效動畫實現原理-Jetpack Compose 初探索動畫Jetpack
- 使用css3實現小車行駛的動畫效果CSSS3動畫
- 動畫合成小技巧!CSS 實現動感的倒數計時效果動畫CSS
- 動畫-CAShapeLayer實現QQ訊息紅點拖拽效果動畫
- 原生JS實現拋物線動畫以及動態模糊效果JS動畫
- Canvas 實現畫中畫動畫效果–網易娛樂年度盤點H5動畫解密Canvas動畫H5解密
- Canvas 實現畫中畫動畫效果--網易娛樂年度盤點H5動畫解密Canvas動畫H5解密
- 教你如何用WPF實現文字粒子閃爍動畫效果動畫
- 短視訊系統,Android 使用MotionLayout實現動畫效果Android動畫
- Flutter入門篇(三)— 如何實現登入動畫效果Flutter動畫
- 【原始碼分析】Lottie 實現炫酷動畫背後的原理原始碼動畫
- jQuery 效果 – 動畫jQuery動畫
- Unity Shader- UV動畫原理及簡易實現Unity動畫
- OverScroll彈性滾動和慣性滾動效果的實現原理——CoordinatorLayout+Behavior
- SAP S/4HANA Material Fiori應用的搜尋實現原理
- JS動畫效果——多物體動畫JS動畫
- jQuery 動畫效果 與 動畫佇列jQuery動畫佇列
- jQuery裡的silidetoggle方法不停重複動畫效果的解決辦法jQueryIDE動畫
- CSS動畫-數字輪盤滾動效果實現(元件封裝,快速使用)CSS動畫元件封裝
- JavaScript簡單的動畫效果JavaScript動畫