第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

章節(jié)
問答
課簽
筆記
評論
占位
占位

開門關(guān)門效果的實(shí)現(xiàn)

JavasSript代碼的編寫是根據(jù)HTML結(jié)構(gòu)來的,合理的HTML結(jié)構(gòu)布局,可以讓代碼更少更簡單

先看看門的布局

<div class="door">
    <div class="door-left"></div>
    <div class="door-right"></div>
</div>

通過一個父容器定位,左右門可以采用left處理分別是0%與50%,這樣我們在通過JS控制時候只需要改變left就可以形成開關(guān)門的效果

開門關(guān)門的效果比較簡單,用之前3-3節(jié)用過的transition插件可以實(shí)現(xiàn)

在實(shí)現(xiàn)的時候還需要注意幾個問題

  • 開關(guān)門是2組動畫,需要2組transition的實(shí)現(xiàn)
  • 開關(guān)門是否完成,是需要監(jiān)聽2個動畫是否完成才可以
  • 為了支持線性編程的邏輯,需要通過Deferred改善代碼

開門的left的坐標(biāo)是往反向變化,所以變化的值是:

  • 左邊0%到-50%  
  • 右邊50%到100%

關(guān)門的left還原到0%與50%即可。

在監(jiān)聽動畫完成上,采用用了一個count計(jì)數(shù),count開始為2,當(dāng)執(zhí)行第一個回調(diào)后會減1,只有當(dāng)二個回調(diào)執(zhí)行的時候,這個defer.resolve才會執(zhí)行

var complete = function() {
    if (count == 1) {
        defer.resolve();
        return;
    }
    count--
}

在代碼封裝部分,把開關(guān)門的動畫調(diào)用接口分開,但是相同的部分合并成doorAction最終的處理方法,并合并了Deferred的處理,這樣可以讓開關(guān)門的這個動作可以很好融入到跟整體的流程中

任務(wù)

打開index.html文件,在代碼的97行填入相應(yīng)代碼,可以觀察到右邊開關(guān)門的變化

doorRight.transition({
    'left': right
}, time, complete);
?不會了怎么辦
||

提問題

寫筆記

公開筆記
提交
||

請驗(yàn)證,完成請求

由于請求次數(shù)過多,請先驗(yàn)證,完成再次請求

加群二維碼

打開微信掃碼自動綁定

您還未綁定服務(wù)號

綁定后可得到

  • · 粉絲專屬優(yōu)惠福利
  • · 大咖直播交流干貨
  • · 課程更新,問題答復(fù)提醒
  • · 賬號支付安全提醒

收藏課程后,能更快找到我哦~

使用 Ctrl+D 可將課程添加到書簽

邀請您關(guān)注公眾號
關(guān)注后,及時獲悉本課程動態(tài)

舉報

0/150
提交
取消
全部 精華 我要發(fā)布
全部 我要發(fā)布
最熱 最新
只看我的

手記推薦

更多

本次提問將花費(fèi)2個積分

你的積分不足,無法發(fā)表

為什么扣積分?

本次提問將花費(fèi)2個積分

繼續(xù)發(fā)表請點(diǎn)擊 "確定"

為什么扣積分?