精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

從微信小程序到鴻蒙JS開發(fā)-CSS3動畫&JS動畫&定時器

開發(fā)
文章由鴻蒙社區(qū)產(chǎn)出,想要了解更多內(nèi)容請前往:51CTO和華為官方戰(zhàn)略合作共建的鴻蒙技術(shù)社區(qū)https://harmonyos.51cto.com

[[383195]]

想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

在進(jìn)入APP時,通常都會有一個歡迎界面,用于展示APP的名稱、logo,并預(yù)先加載部分?jǐn)?shù)據(jù)。既然是歡迎頁面,自然少不了一些動畫元素。簡單運用了CSS3和JS的動畫效果,progress組件以及倒計時擼了一個歡迎頁面。直接上效果:

1、基于CSS3的動畫效果

1.1 給動畫元素設(shè)置animation屬性。

  • animation-name:動畫名
  • animation-duration:動畫持續(xù)時間
  • animation-delay:動畫開始前延遲時間
  • animation-iteration-count:動畫重復(fù)次數(shù)
  • animation-timing-function:動畫執(zhí)行速度
  • animation-fill-mode:動畫模式
  1. <image src="/common/huaWei.jpeg" class="logo"></image> 

  1. .logo { 
  2.     width: 300px; 
  3.     height: 300px; 
  4.     border-radius: 150px; 
  5.     animation-name: an1; 
  6.     animation-duration: 5s; 
  7.     animation-iteration-count: 1; 
  8.     animation-timing-function: linear; 
  9.     animation-fill-mode: none; 

1.2 用"@keyframes 動畫名"匹配設(shè)置動畫規(guī)則。

  1. @keyframes an1 { 
  2.         from { 
  3.             transform: rotate(180deg); 
  4.             opacity: 0.3; 
  5.         } 
  6.         to { 
  7.             transform: rotate(360deg); 
  8.             opacity: 1.0; 
  9.         } 

除from,to外,還可以使用百分比(如20%{...})方式設(shè)置動畫途中的效果。

以上兩步,就實現(xiàn)了gif圖中HUAWEI的logo旋轉(zhuǎn)和逐漸清晰的動畫效果。

2、基于JS的動畫效果

2.1 動畫元素給定id/ref等可以用于元素匹配的屬性。

  1. <image src="/common/liteMall.png" class="textImg" id="textImg"></image> 

2.2 在onShow()方法中獲取元素實例,并用animate()方法給定動畫規(guī)則和基本屬性。注意這一步在onInit()和onReady()中執(zhí)行是沒有效果的。

animate()接受兩個參數(shù),第一個為數(shù)組,指定動畫的關(guān)鍵幀效果。第二個為對象,指定動畫的基本屬性。

2.3 調(diào)用play()方法開始動畫執(zhí)行。

  1. onShow() { 
  2.      // 設(shè)置動畫 
  3.      let textImg = this.$element("textImg").animate([ 
  4.          { 
  5.              transform: {translateY: '200px'}, opacity: 0.1 
  6.          }, 
  7.          { 
  8.              transform: {translateY: '0px'}, opacity: 1 
  9.          } 
  10.      ], { 
  11.          duration: 5000, 
  12.          easing: "linear-out-slow-in"
  13.          fill: "forwards"
  14.          iterations: 1 
  15.      }); 
  16.      textImg.play(); 
  17.      ...... 
  18.  } 

這個方法在開發(fā)者文檔中未找到說明,但證實可用,且IDE也是有提示的。

transform其中的key輸入?yún)s是沒有提示了。

這里寫完后會有紅線說缺少屬性,但運行是沒問題的,可以忽略。如果看著難受可以把數(shù)組單獨聲明為一個變量,再作為animate()方法入?yún)ⅰ?/p>

以上三步,就實現(xiàn)了gif圖中"litemall"字樣從下方上移并逐漸清晰的動畫效果。

對比CSS3的動畫技術(shù),使用JS實現(xiàn)動畫會更有靈活性??梢栽趏nShow()中定義動畫,在用戶進(jìn)行一定操作后再執(zhí)行。CSS3的只能在頁面顯示后一定時間執(zhí)行,但可以用百分比的形式定義更豐富的動畫漸變效果。

3、JS定時器

setTimeout()和setInterval()兩個定時函數(shù)在鴻蒙中可以無縫對接使用。

gif圖中的倒計時使用setInterval()實現(xiàn)每1秒倒數(shù)一個數(shù)并改變省略號的個數(shù),在倒數(shù)到0時清除定時器。為防止僵尸線程影響性能,切記調(diào)用clearTimeout()和clearInterval()清除掉定時器。

倒計時部分,hml視圖層:

  1. <div class="loading"
  2.     <progress type="circular"></progress> 
  3.     <text> 
  4.         {{ loading }} 
  5.     </text> 
  6. </div> 
  7. <text class="count"
  8.     {{ seconds }} 
  9. </text> 

css渲染層:

  1. .loading { 
  2.     width: 100%; 
  3.     height: 150px; 
  4.     display: flex; 
  5.     justify-content: center; 
  6.     align-items: center; 
  7. progress { 
  8.     width: 120px; 
  9.     height: 120px; 
  10. .loading>text { 
  11.     font-size: 40px; 
  12.     color: #666666; 
  13. .count { 
  14.     position: fixed; 
  15.     bottom: 385px; 
  16.     left: 225px; 
  17.     font-size: 60px; 
  18.     color: #666666; 

js邏輯層:

  1. onShow() { 
  2.   ...... 
  3.       // 設(shè)置倒計時 
  4.       let iv = setInterval(() => { 
  5.           let suffix; 
  6.           switch (this.seconds % 3) { 
  7.               case 2: 
  8.               suffix = "..."
  9.               break; 
  10.               case 1: 
  11.               suffix = ".."
  12.               break; 
  13.               default
  14.               suffix = "."
  15.               break; 
  16.           } 
  17.           this.loading = "數(shù)據(jù)加載中" + suffix; 
  18.           this.seconds--; 
  19.           if (this.seconds == 0) { 
  20.               clearInterval(iv); 
  21.           } 
  22.       }, 1000); 
  23.   } 

頁面會在動畫播放完成后跳轉(zhuǎn)到商城首頁,使用setTimeout()設(shè)置定時跳轉(zhuǎn)即可。這里在播放動畫時預(yù)加載了首頁需要的數(shù)據(jù),作為頁面參數(shù)跳轉(zhuǎn),可以加快商城頁的展示速度,提升用戶體驗。

  1. onInit() { 
  2.      // 首頁數(shù)據(jù)預(yù)加載 
  3.      // 獲取廣告圖片 
  4.      fetch.fetch({ 
  5.          ...... 
  6.      }); 
  7.      // 獲取推薦商品 
  8.      fetch.fetch({ 
  9.          ...... 
  10.      }); 
  11.      // 獲取一級分類 
  12.      fetch.fetch({ 
  13.          ...... 
  14.      }); 
  15.  }, 
  16.  onShow() { 
  17.      // 設(shè)置定時跳轉(zhuǎn) 
  18.      let to = setTimeout(() => { 
  19.          router.replace({ 
  20.              uri: "pages/index/index"
  21.              params: { 
  22.                  ad: this.ad, 
  23.                  newGoods: this.newGoods, 
  24.                  hotGoods: this.hotGoods, 
  25.                  types: this.types 
  26.              } 
  27.          }); 
  28.          clearTimeout(to); 
  29.      }, 6000); 
  30.  ...... 
  31.  } 

4、微信小程序的動畫效果

最后寫一寫微信小程序的動畫實現(xiàn),在wxss中同樣支持CSS3的動畫屬性:

  1. .happy { 
  2.   font-size: 50rpx; 
  3.   color: #e20a0b; 
  4.   animation-name: an1; 
  5.   animation-duration: 5s; 
  6.   animation-delay: 500ms; 
  7.   animation-iteration-count: infinite; 
  8.   animation-direction: normal; 
  9.   animation-fill-mode: forwards; 
  10.   animation-timing-function: linear; 
  11. @keyframes an1 { 
  12.   from { 
  13.     transform: translateX(0px); 
  14.     opacity: 0.5; 
  15.   } 
  16.   to { 
  17.     transform: translateX(300px); 
  18.     opacity: 1; 
  19.   } 

微信小程序的動畫JS實現(xiàn)方式和鴻蒙有很大不同,是通過微信提供的API定義并實現(xiàn)動畫。接口提供了豐富的方法,可在開發(fā)者文檔查閱。

  1. Page({ 
  2.  
  3.   /** 
  4.    * 頁面的初始數(shù)據(jù) 
  5.    */ 
  6.   data: { 
  7.     an2: null 
  8.   }, 
  9.  
  10.   onShow: function () { 
  11.     let an2 = wx.createAnimation({ 
  12.       delay: 500, 
  13.       duration: 5000, 
  14.       timingFunction: 'ease-in-out' 
  15.     }); 
  16.     an2.translate(100, 300).step(); 
  17.     an2.rotate(90).opacity(0.1).step(); 
  18.     this.setData({ 
  19.       an2: an2.export() 
  20.     }) 
  21.   }, 

動畫基本屬性作為createAnimation()方法的入?yún)ⅲ瑒赢嬯P(guān)鍵幀由一連串的方法流式操作給出,以step()結(jié)束。這里一個動畫的執(zhí)行的時間是duration給定的時間。動畫對象需使用export()導(dǎo)出到data中,并和頁面元素的animation屬性綁定。

  1. <view class="happy" animation="{{ an2 }}"
  2.   新年快樂 
  3. </view

想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

 

責(zé)任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2021-03-02 09:29:29

鴻蒙HarmonyOS應(yīng)用開發(fā)

2021-02-23 12:25:26

鴻蒙HarmonyOS應(yīng)用開發(fā)

2021-02-20 09:52:02

鴻蒙HarmonyOS應(yīng)用開發(fā)

2021-02-21 11:09:18

鴻蒙HarmonyOS應(yīng)用開發(fā)

2021-02-23 12:23:57

鴻蒙HarmonyOS應(yīng)用開發(fā)

2021-02-22 14:56:55

鴻蒙HarmonyOS應(yīng)用開發(fā)

2021-02-25 10:01:19

鴻蒙HarmonyOS應(yīng)用開發(fā)

2021-02-04 13:49:41

鴻蒙HarmonyOS應(yīng)用開發(fā)

2021-02-23 09:52:42

鴻蒙HarmonyOS應(yīng)用開發(fā)

2021-02-05 09:46:16

鴻蒙HarmonyOSjs開發(fā)

2021-02-25 15:13:08

鴻蒙HarmonyOS應(yīng)用開發(fā)

2012-09-13 09:24:31

CSSJSjQ

2021-02-07 09:17:24

鴻蒙HarmonyOS應(yīng)用開發(fā)

2017-05-11 15:20:52

CSS3動畫前端

2014-04-29 10:39:27

CSS3JavaScript

2012-05-25 10:31:44

HTML5

2011-06-29 13:22:58

CSS3

2015-10-14 09:50:11

css3動畫模擬

2022-10-20 11:49:49

JS動畫幀,CSS

2013-01-30 16:15:40

adobeHTML5css3
點贊
收藏

51CTO技術(shù)棧公眾號

成人女人免费毛片| 日韩精品三级| 国产一区二区三区四区五区传媒| 国产精品久久影院| 高清欧美电影在线| 97精品国产97久久久久久粉红| 欧美 激情 在线| 国产视频第二页| 精品午夜视频| 国产夜色精品一区二区av| 欧美日韩国产成人| 日本美女视频一区| 在线观看免费网站黄| 亚洲精品动态| 午夜久久久久久久久| 91精品视频在线播放| 日本欧美一区二区三区不卡视频| 午夜激情在线观看| 久久性天堂网| 亚洲欧洲国产精品| 一区二区视频在线免费| 色老头在线视频| va天堂va亚洲va影视| 成人激情午夜影院| 欧美成人激情视频免费观看| 一起操在线视频| 999av小视频在线| 成人夜色视频网站在线观看| 亚洲精品在线不卡| 欧美午夜性视频| 国产91绿帽单男绿奴| 蜜桃tv一区二区三区| 亚洲婷婷国产精品电影人久久| 国产精品狼人色视频一区| 无码一区二区三区在线| 制服诱惑亚洲| 国产精品久久久久久久浪潮网站| 国内精品免费午夜毛片| 黑人と日本人の交わりビデオ| 国产精品4hu.www| 国产精品国产精品国产专区不片| 国产精品专区h在线观看| 五月婷婷婷婷婷| 在线免费成人| 欧美三级日韩三级国产三级| 中文字幕中文字幕99 | 日本中文字幕在线2020| 久久综合九色综合97婷婷女人| 日韩在线精品一区| 永久免费的av网站| 天堂在线中文| 欧美激情日韩| 在线观看日韩毛片| 尤物国产精品| 全部免费毛片在线播放一个| 亚洲色图88| 精品国内片67194| 久久精品免费一区二区| www.成人.com| 日日夜夜免费精品| 亚洲精品一区二区三区福利 | 亚洲综合最新在线| 国产午夜精品一区二区理论影院| 欧美福利在线播放网址导航| 一区二区三区四区国产精品| 精品在线不卡| 亚洲图片在线播放| 超碰成人在线免费| 欧美性20hd另类| 亚洲激情一区二区三区| 亚洲男女视频在线观看| 国产91精品一区二区麻豆网站| 青草热久免费精品视频| 97人妻天天摸天天爽天天| 国产成人免费精品| 午夜精品福利一区二区三区蜜桃| 四虎永久国产精品| 人人妻人人澡人人爽精品日本| 成人黄色小视频在线观看| 久久国产精品高清| 国产精品无码在线播放| 亚洲精品在线观看91| 日韩精品视频观看| 色偷偷中文字幕| 久草在线视频资源| 粉嫩一区二区三区在线看| 国产精品一区二区不卡视频| 亚洲天堂一二三| 国产成人综合视频| 97高清免费视频| 久久99久久99精品免费看小说| 久草成人在线| 久久精品电影网站| 欧美黄色高清视频| 四虎5151久久欧美毛片| 欧美一级在线免费| 欧美女同在线观看| 91国拍精品国产粉嫩亚洲一区| 欧美日韩精品在线观看| 日本高清不卡一区二区三| 男人天堂一区二区| 久久久欧美精品sm网站| 国产精品一区二区av| 福利小视频在线观看| 国产乱子伦视频一区二区三区 | 日本黄色一区| 欧美视频专区一二在线观看| 老司机久久精品| 国产国产一区| 欧美日韩一区二区三区不卡| 九九视频精品在线观看| 理论片午午伦夜理片在线播放| 国产午夜精品福利| 欧美日韩精品中文字幕一区二区| 伊人久久中文字幕| 免费视频一区| 青青草精品毛片| 国产欧美日韩成人| 国产日韩v精品一区二区| 国产一二三区在线播放| 欧美videosex性欧美黑吊| 在线视频亚洲一区| 国产精品麻豆入口| 亚洲区小说区| 亚洲日韩第一页| 久久久久亚洲天堂| 日韩午夜高潮| 青草青草久热精品视频在线观看| 亚洲成a人片77777精品| 日本欧洲一区二区| 国产精品热视频| 日韩午夜影院| 国产日韩av一区二区| 亚洲国产精品视频一区| 黄色动漫在线| 久久免费视频色| www.日本在线视频| 欧美香蕉视频| 欧美日韩久久一区二区| 欧美视频在线播放一区| 丝袜美腿一区| 日韩电影中文 亚洲精品乱码| 久操免费在线视频| 亚洲资源av| 国产欧美日韩中文字幕在线| 午夜精品久久久久久久久久久久久蜜桃| 99精品国产在热久久| 亚洲r级在线观看| 蜜桃av在线免费观看| 欧美人伦禁忌dvd放荡欲情| 四虎影视一区二区| 国产一区二区欧美| 欧美一区二区色| 久久国产一级片| 午夜影院日韩| 成人精品在线观看| 亚洲免费一级片| 亚洲图片一区二区| 自拍偷拍 国产| 2023国产精华国产精品| 欧美高清一级片在线| 爱情岛论坛亚洲首页入口章节| 91视频成人| 日韩国产欧美精品在线| 日本午夜在线观看| 99视频精品全部免费在线视频| 欧美激情xxxx| 久久久久久国产精品视频| 石原莉奈在线亚洲三区| 丁香婷婷久久久综合精品国产| 丰满大乳少妇在线观看网站| 欧美亚州韩日在线看免费版国语版| 黄在线观看网站| 亚洲日产av中文字幕| 亲子乱一区二区三区电影| 成人亚洲性情网站www在线观看| 亚洲欧洲制服丝袜| 在线xxxxx| 欧美r级电影| 97超碰国产精品女人人人爽| 国产精品色综合| 久久男人中文字幕资源站| 又大又硬又爽免费视频| 欧洲美女精品免费观看视频| 欧美日韩久久不卡| www.av视频| 亚洲精品一二| 欧美最顶级的aⅴ艳星| 成年在线电影| 在线观看日韩一区| 中文字幕一区二区三区人妻电影| 欧美a级一区| 成人福利网站在线观看11| 国产乱视频在线观看| 欧美一区二区在线视频| 久久久国产精品成人免费| 欧美激情一区二区三区| 亚洲日本无吗高清不卡| 欧美日本高清| 精品日产卡一卡二卡麻豆| 久久久久久久久久成人| 亚洲精品成a人| 欧美一区二区三区影院| 精品素人av| 一本色道久久综合亚洲精品小说 | 亚洲国产高清一区二区三区| 日韩资源av在线| 韩国精品一区| 91福利在线免费观看| 国产精品自在自线| 精品一区电影| 蜜月aⅴ免费一区二区三区| 日本免费一区视频| 精品国产精品三级精品av网址| 亚洲美女精品视频| 激情欧美一区| 国严精品久久久久久亚洲影视| 国产91欧美| 欧美亚洲一级片| 成人精品一区二区三区校园激情| 精品少妇一区二区三区日产乱码| 久久精品视频日本| 中文字幕一区二区三区乱码在线| 成年人三级黄色片| 午夜国产欧美理论在线播放 | 国产精品香蕉在线观看| 午夜影院在线播放| 亚洲另类图片色| 天天爽夜夜爽夜夜爽精品| 亚洲日本在线a| 中国特黄一级片| 久久精品人人做人人爽97| 一区二区三区 欧美| 国产精品久久久乱弄| 日韩av影视| 亚洲宅男一区| 免费毛片一区二区三区久久久| 免费观看一级欧美片| 亚洲欧美中文在线视频| 少妇荡乳情欲办公室456视频| 欧美日韩亚洲视频一区| 精品无码人妻一区二区三| 91天堂素人约啪| 特大黑人娇小亚洲女mp4| 日韩一二三区| 亚洲一区二区三区四区在线播放| 日韩成人精品一区二区三区| 久久久久免费精品国产| 国产三级三级在线观看| 91久久线看在观草草青青| 69av视频在线| 久久久国产精华| 少妇伦子伦精品无吗| 性欧美69xoxoxoxo| 国产精品一区二区三| 女人黄色免费在线观看| 亚洲男人天堂视频| 亚洲av少妇一区二区在线观看| 欧美一区二区三区婷婷月色 | 美国十次了思思久久精品导航| 一本二本三本亚洲码| 成人亚洲综合| 久久久久久久久网站| 超碰在线网站| 久久午夜a级毛片| 无码精品视频一区二区三区| 欧美日韩国产成人在线91| 一本色道久久综合亚洲| 欧美一区二区女人| 人妻视频一区二区三区| 亚洲男人天天操| 风流老熟女一区二区三区| 欧美久久一区二区| www.色播.com| 欧美视频日韩视频| 一级黄色短视频| 亚洲免费av高清| 成年人网站免费在线观看| 亚洲免费一区二区| 欧美亚洲色图视频| 一区二区三区在线电影| 亚洲精品欧美精品| 中出一区二区| 91制片厂免费观看| 欧美午夜在线视频| 正义之心1992免费观看全集完整版| 婷婷久久一区| 久草视频国产在线| 欧美日韩第一区| 欧美亚洲视频一区| 亚洲精选在线| 五月天av在线播放| 99九九99九九九视频精品| 日本一极黄色片| 日韩精品1区| 久久久久se| 久久悠悠精品综合网| 98国产高清一区| 超碰在线公开| 欧美激情精品久久久久久久变态| 中文在线资源| 91精品在线一区| 99久久久国产| 91免费电影网站| 日韩一二三区在线观看| 超碰在线97av| 日韩精品视频中文字幕| 欧美主播一区二区三区美女 久久精品人 | a天堂中文字幕| 亚洲一区免费观看| 在线观看毛片视频| 日韩精品在线免费| 日本乱理伦在线| 欧美国产第二页| 精品国产欧美日韩一区二区三区| 动漫一区二区在线| 天天射—综合中文网| 日本精品免费视频| 肉色丝袜一区二区| av2014天堂网| 2021国产精品久久精品| 成人免费视频网站入口::| 亚洲精品菠萝久久久久久久| 国内av在线播放| 欧美精品aⅴ在线视频| 国产精品午夜福利| 亚洲精品在线电影| 羞羞电影在线观看www| 国产自产女人91一区在线观看| 亚洲欧美日本国产| 综合视频在线观看| 99人久久精品视频最新地址| 精品国产成人av在线免| 老司机精品视频在线| 亚洲色图第四色| 一区二区成人在线观看| 潮喷失禁大喷水aⅴ无码| 狠狠躁夜夜躁人人爽天天天天97| 人妻少妇精品无码专区| 国精产品一区一区三区有限在线| 91午夜精品| 女人帮男人橹视频播放| 日韩电影在线免费| 日本黄色三级网站| 久久久久久99久久久精品网站| 欧美日韩色视频| 欧美精品久久久久久久久老牛影院| 免费a视频在线观看| 国内精品视频在线| 婷婷成人影院| 亚洲人成色77777| 国产天堂亚洲国产碰碰| 国产小视频在线观看免费| 日韩欧美精品在线| 色中色在线视频| 日本不卡免费高清视频| 亚洲欧洲免费| 男人搞女人网站| 国产精品高潮久久久久无| 亚洲天堂777| 精品调教chinesegay| 亚洲天堂电影| 日韩av电影免费在线| 夜久久久久久| 91精品人妻一区二区三区蜜桃欧美 | 国模一区二区三区白浆| aaaaa一级片| 色狠狠综合天天综合综合| 秋霞欧美在线观看| 热久久美女精品天天吊色| 成人免费在线观看av| 亚洲一区二区在线免费观看| av成人激情| 国产jk精品白丝av在线观看 | 久热精品在线播放| 亚洲黄色录像片| 国产乱码精品一区二区| 久久久久成人网| 国产欧美日韩在线一区二区| 久久久久xxxx| 五月天婷婷综合| 丰满岳乱妇国产精品一区| 日韩av快播网址| 日韩一区二区三区在线免费观看 | 欧美性xxxxxx| 国产在线免费观看| 深夜福利日韩在线看| 欧美成人黑人| 免费久久久久久| 韩国精品久久久| 乱老熟女一区二区三区| 日韩欧美123| 免费男女羞羞的视频网站在线观看| 91精品视频网站| 亚洲一区二区日韩| 国产色视频一区二区三区qq号| 欧美日韩一区二区免费在线观看| av在线之家电影网站| 国产日韩欧美黄色| 99riav国产精品|