微信小程序iOS端如何暫停animated動(dòng)畫

在知道有animation-play-state這個(gè)animation的參數(shù)時(shí),我內(nèi)心是激動(dòng)的域庇。在得知iOS端并不支持時(shí)减响,一股涼意襲來(lái)

animation-play-state

先來(lái)介紹一下今天的主角animation-play-state

animation-play-state CSS 屬性定義一個(gè)動(dòng)畫是否運(yùn)行或者暫停转晰。可以通過(guò)查詢它來(lái)確定動(dòng)畫是否正在運(yùn)行桐磁。另外悔耘,它的值可以被設(shè)置為暫停和恢復(fù)的動(dòng)畫的重放。

恢復(fù)一個(gè)已暫停的動(dòng)畫所意,將從它開始暫停的時(shí)候淮逊,而不是從動(dòng)畫序列的起點(diǎn)開始在動(dòng)畫。

在MDN文檔中了解到扶踊,這是一個(gè)實(shí)驗(yàn)中的功能泄鹏,但是其作用還是強(qiáng)大的。既可以控制/獲取元素的動(dòng)畫狀態(tài)(paused秧耗,running)

所以备籽,這個(gè)animation的參數(shù)用來(lái)控制動(dòng)畫的播放狀態(tài)再合適不過(guò)了。畫外音:你還沒考慮兼容性呢分井!對(duì)车猬!就是這個(gè)兼容性問題。在chrome上這個(gè)參數(shù)是可以支持的尺锚,但是iOS設(shè)備上就不支持了...嘆息珠闰。

在iOS上的處理

當(dāng)然不能因?yàn)榧嫒菪詥栴}就不用這個(gè)參數(shù)了,當(dāng)然不能讓每個(gè)iOS用戶去下載一個(gè)chrome瀏覽器瘫辩,當(dāng)然...

那我們?cè)趺唇鉀Q呢伏嗜??伐厌?用JS

通過(guò)Window.getComputedStyle()方法承绸,我們可以獲取元素實(shí)時(shí)的styleCSSStyleDeclaration對(duì)象,這個(gè)對(duì)象表示CSS屬性鍵值對(duì)的集合挣轨。也就是說(shuō)我們使用這個(gè)方法可以獲取一個(gè)正在進(jìn)行動(dòng)畫的元素當(dāng)前的style值军熏。

PS:關(guān)于Window.getComputedStyle()方法的值可以在MDN上了解到,這里不展開敘述卷扮。給出一個(gè)語(yǔ)法的例子(摘自MDN)

 let style = window.getComputedStyle(element, [pseudoElt]);

那么具體要怎么做呢荡澎?

實(shí)現(xiàn)

<p data-height="417" data-theme-id="light" data-slug-hash="ejeLJm" data-default-tab="js,result" data-user="luogao" data-pen-title="animation-play-state" class="codepen">See the Pen <a >animation-play-state</a> by luogao (<a >@luogao</a>) on <a >CodePen</a>.</p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>

代碼已經(jīng)在上面的codepen預(yù)覽中展示啦,如果現(xiàn)實(shí)不來(lái)請(qǐng)點(diǎn)這里??Roy Luo's codepen

大致解釋一下就是:

在元素的外層的包裹元素上添加獲取到的執(zhí)行動(dòng)畫的元素的style計(jì)算屬性晤锹,從而讓執(zhí)行動(dòng)畫的元素暫停下來(lái)衔瓮。

那么在微信小程序中又是如何呢?

其實(shí)抖甘,最先遇到這個(gè)問題是在做小程序的時(shí)候热鞍。一個(gè)播放器的界面,中間一張專輯圖片。在圓形的黑膠唱片邊框中旋轉(zhuǎn)薇宠。當(dāng)播放停止偷办,圖片也同時(shí)停止旋轉(zhuǎn)。停在當(dāng)前旋轉(zhuǎn)的位置

當(dāng)時(shí)看似簡(jiǎn)單的一個(gè)需求澄港,使用了animation-play-state并且與預(yù)期一樣達(dá)到了效果椒涯,在模擬器中

沒錯(cuò)回梧,洋洋得意的以為完成了需求废岂,結(jié)果真機(jī)(iOS)上一測(cè)試,原形畢露狱意。

當(dāng)時(shí)看到小程序的官方社區(qū)中提到說(shuō)iOS不支持這個(gè)animation-play-state???♂????♂????♂????

幸得殘陽(yáng)映楓紅在sf的一個(gè)問題中的回答讓我找到了方向湖苞。感謝之~

值得在最后前一提的是

這里有三個(gè)小程序的坑要提一下

  • nodesRef.fields(fields, [callback])這個(gè)方法需要在基本庫(kù)2.1.0(個(gè)人感覺不是個(gè)該著重考慮的問題)
  • 這個(gè)方法是異步的(自行感受)
  • 應(yīng)該區(qū)分iOS和安卓設(shè)備,進(jìn)行不同的處理详囤。能不用這個(gè)nodesRef.fields方法盡量不要用~

參考

本文作者: Roy Luo

本文鏈接: 微信小程序iOS端如何暫停animated動(dòng)畫

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末财骨,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子藏姐,更是在濱河造成了極大的恐慌隆箩,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件羔杨,死亡現(xiàn)場(chǎng)離奇詭異捌臊,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)兜材,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門理澎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人护姆,你說(shuō)我怎么就攤上這事√突鳎” “怎么了卵皂?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)砚亭。 經(jīng)常有香客問我灯变,道長(zhǎng),這世上最難降的妖魔是什么捅膘? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任添祸,我火速辦了婚禮,結(jié)果婚禮上寻仗,老公的妹妹穿的比我還像新娘刃泌。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布耙替。 她就那樣靜靜地躺著亚侠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪俗扇。 梳的紋絲不亂的頭發(fā)上硝烂,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音铜幽,去河邊找鬼滞谢。 笑死,一個(gè)胖子當(dāng)著我的面吹牛除抛,可吹牛的內(nèi)容都是我干的狮杨。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼镶殷,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼禾酱!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起绘趋,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤颤陶,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后陷遮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體滓走,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年帽馋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了搅方。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡绽族,死狀恐怖姨涡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情吧慢,我是刑警寧澤涛漂,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站检诗,受9級(jí)特大地震影響匈仗,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜逢慌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一悠轩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧攻泼,春花似錦火架、人聲如沸鉴象。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)炼列。三九已至,卻和暖如春音比,著一層夾襖步出監(jiān)牢的瞬間俭尖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工洞翩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留稽犁,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓骚亿,卻偏偏與公主長(zhǎng)得像已亥,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子来屠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 1虑椎、通過(guò)CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請(qǐng)求組件 FMDB本地?cái)?shù)據(jù)庫(kù)組件 SD...
    陽(yáng)明先生_x閱讀 15,968評(píng)論 3 119
  • 昨天去見了他捆姜,他靜靜的坐在一邊等我,遠(yuǎn)遠(yuǎn)的看見了我對(duì)我揮揮手迎膜,淡淡的對(duì)著我笑泥技,就像十七歲的時(shí)候一樣,只是眼神里少了...
    554的魚閱讀 344評(píng)論 0 5
  • 由我最崇拜的一位名師推薦磕仅,假期里我閱讀了李崇建老師寫的《麥田里的老師》這本書珊豹,雖然里面涵蓋了大量心理學(xué)范疇的內(nèi)容我...
    超人媽媽_68eb閱讀 1,536評(píng)論 0 3
  • 問答 什么是閉包? 有什么作用? 閉包是指能夠訪問自由變量的函數(shù)(變量在本地使用,但在閉包中定義)榕订。換句話說(shuō)店茶,定義...
    李奕豪閱讀 346評(píng)論 0 0
  • 先把需要的文件導(dǎo)入虛擬機(jī) 在終端中在主機(jī)上傳輸: scp /User/dllo/Desktop/Linux/mys...
    EnjoyGoodTime閱讀 275評(píng)論 0 1