優(yōu)雅地實(shí)現(xiàn)CSS Animation delay

1.需求:

  等待元素A的動畫加載完,再加載B元素的動畫(下圖中A為大熊貓淫奔,B為下方卡片)

  先來看下最后的效果啦:

2.初始思路:

  在B元素的動畫屬性上加上delay(延遲,使得這個延遲時間 = A元素動畫的加載時間)

即:animation : bmove .7s?.7s?1;?(這里的第二個.7s即delay時間0.7秒)

  b的動畫過程代碼如下:

@keyframes bmove {

    0% { margin-top: 100%; opacity: 0 }

    100% { margin-top: 0%;opacity: 1 }

  }

  出現(xiàn)bug:

可以明顯看出B元素在A做動畫時就已經(jīng)出現(xiàn)堤结,這顯然是不符合需求的唆迁;而其原因就是在B元素delay的過程中一直會處在畫面中,而不是在畫面外等著入場竞穷,從這里我們也更能理解animation的暗藏含義:即動畫前和動畫后沒有變化唐责。(這就像你把脈動裝進(jìn)了可樂的瓶子里,脈動依舊還是脈動瘾带,而不是因此就變可樂了)鼠哥,那怎么樣才能使B元素在A做動畫時不要顯示出來呢?怎么樣才能使其乖乖地先呆在畫面之外呢看政?

  很自然地朴恳,想到了將其opacity設(shè)為0,不過單單這樣允蚣,動畫之后它又要消失了于颖,效果見下圖:

再一次證明了animation的暗藏含義:即動畫前和動畫后沒有變化

這個時候自然地想到在動畫后再利用javascript將其opacity設(shè)為1,那這樣是不是就能高枕無憂了呢嚷兔?先試試看

3.JS方法:

  先把B的opacity設(shè)為0森渐,然后待delay結(jié)束做入,用JS把B的opacity設(shè)為1 (用定時器實(shí)現(xiàn),即setTimeout)

  實(shí)現(xiàn)之后同衣,在電腦上一切ok母蛛;然而在手機(jī)上運(yùn)行時,出現(xiàn)了動畫結(jié)束之后乳怎,B元素又閃了一下再出現(xiàn)的狀況(由于手機(jī)不方便錄制gif彩郊,所以這里就沒放圖了,大家自行腦補(bǔ)蚪缀,哈哈)

  狀況原因猜想:

    手機(jī)瀏覽器的js引擎相對css有延遲秫逝,導(dǎo)致動畫結(jié)束后,setTimeout方法內(nèi)的回調(diào)才執(zhí)行询枚,使得出現(xiàn)上述狀況

  既然這樣违帆,那就徹底放棄把JS融入動畫控制中,因?yàn)椴煌瑸g覽器js引擎差異

  那怎么樣能使opacity 一開始為0 一段時間之后變?yōu)? 呢金蜀?

4.優(yōu)雅的delay方法:

成也delay刷后,敗也delay。如果這時候還繞在使用animation-delay屬性上渊抄,那始終沒有辦法尝胆,所以干脆跳出delay怪圈,不使用delay;よ搿:巍!

  那不使用delay如何辦到delay的效果呢二庵?

答案就是在animation的動畫過程代碼中自己加一段delay動畫過程贪染,話不多說,上代碼:

  @keyframes bmove {

0% { margin-top: 100%; opacity: 0 }

50% { margin-top: 100%; opacity: 0 }

    100% { margin-top: 0%;opacity: 1 }

  }

  紅色部分代碼即是手動delay代碼催享,這時杭隙,既可以讓B元素在delay期間不執(zhí)行動畫,又能讓其初始狀態(tài)和結(jié)束狀態(tài)達(dá)到需求因妙,這個時候我們的需求就完美實(shí)現(xiàn)啦:

本文可轉(zhuǎn)載痰憎,但請附上作者昵稱(大雄的學(xué)習(xí)人生)及原文鏈接哦

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市兰迫,隨后出現(xiàn)的幾起案子信殊,更是在濱河造成了極大的恐慌,老刑警劉巖汁果,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涡拘,死亡現(xiàn)場離奇詭異,居然都是意外死亡据德,警方通過查閱死者的電腦和手機(jī)鳄乏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門跷车,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人橱野,你說我怎么就攤上這事朽缴。” “怎么了水援?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵密强,是天一觀的道長。 經(jīng)常有香客問我蜗元,道長或渤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任奕扣,我火速辦了婚禮薪鹦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘惯豆。我一直安慰自己池磁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布楷兽。 她就那樣靜靜地躺著地熄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪拄养。 梳的紋絲不亂的頭發(fā)上离斩,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天银舱,我揣著相機(jī)與錄音瘪匿,去河邊找鬼。 笑死寻馏,一個胖子當(dāng)著我的面吹牛棋弥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播诚欠,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼顽染,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了轰绵?” 一聲冷哼從身側(cè)響起粉寞,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎左腔,沒想到半個月后唧垦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡液样,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年振亮,在試婚紗的時候發(fā)現(xiàn)自己被綠了巧还。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡坊秸,死狀恐怖麸祷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情褒搔,我是刑警寧澤阶牍,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站星瘾,受9級特大地震影響荸恕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜死相,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一融求、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧算撮,春花似錦生宛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至审洞,卻和暖如春莱睁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背芒澜。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工仰剿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人痴晦。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓南吮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親誊酌。 傳聞我的和親對象是個殘疾皇子部凑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評論 2 349

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

  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font碧浊,text-align涂邀,li...
    love2013閱讀 2,304評論 0 11
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font箱锐,text-align比勉,li...
    wzhiq896閱讀 1,732評論 0 2
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,737評論 1 92
  • SpringMVC Api接口版本控制 1. 問題 ? 后端服務(wù)在提供api接口時,隨著業(yè)務(wù)的變化敷搪,原有的接口...
    Sscon70閱讀 11,057評論 5 11
  • 3月底兴想,北京的最佳時節(jié),春風(fēng)吹在臉上微涼并不覺得冷赡勘,這幾天趕上天氣極好嫂便。這種天氣適合去踏青、去公園玩耍闸与、去騎單車毙替,...
    ManBetter閱讀 713評論 0 2