本課講的是一種設計模式,我們學的是這種思維模式,而不是方法。除非你有<script src="observer.js"></script>這個源代碼。沒有observer.js(這個文件應該是老師自己寫的),new Observer()并無效,因為這個不是js的原生對象
2018-05-06
發布一個A事件,當觸發了這個事件之后,所有訂閱了A事件的函數都會執行。而注銷了A事件之后,再去觸發A事件(此時已經不存在A事件了),所以訂閱了A事件的函數就不會再執行了。就這么簡單很容易理解。
點擊第一個按鈕,執行了function(){alert("page任務完成")},再點擊第二個按鈕,注銷了訂閱事件,此時再去點擊第一個按鈕,已經不會執行alert()了。
點擊第一個按鈕,執行了function(){alert("page任務完成")},再點擊第二個按鈕,注銷了訂閱事件,此時再去點擊第一個按鈕,已經不會執行alert()了。
2018-05-06
return new Promise(function (resolve) {
$gril.addClass("girl-walk")
$boy.transition({"right":"4.5rem"},4000,"linear",function(){
resolve();
})
})
callback();
$gril.addClass("girl-walk")
$boy.transition({"right":"4.5rem"},4000,"linear",function(){
resolve();
})
})
callback();
2018-01-30
對$.Deferred()流程想了解更清楚些的看這個。
http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html
http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html
2018-01-26
給bird加上背景色看看!!
排第一的那位,因為對應前綴不同,寫的方法不同,但做到了相同的效果。主要就是steps()函數,要搞清楚這個,簡單來講,第二個參數如果是start,那么@keyframes是從第二個{}開始,如果是end,就從第一個{}開始(不寫第二個參數的話默認是end)
驗證的話可以把400ms改成2400ms看動畫效果。
至于第一個參數它是表示@keyframes中兩個{}{}之間變化所需的次數,
steps(3)對應0~300(每次變化三次)
steps(1,start)對應0~100~200~300(每次變化1次)
唉,我說不來,大家還是網上搜一下steps()的介紹吧。
排第一的那位,因為對應前綴不同,寫的方法不同,但做到了相同的效果。主要就是steps()函數,要搞清楚這個,簡單來講,第二個參數如果是start,那么@keyframes是從第二個{}開始,如果是end,就從第一個{}開始(不寫第二個參數的話默認是end)
驗證的話可以把400ms改成2400ms看動畫效果。
至于第一個參數它是表示@keyframes中兩個{}{}之間變化所需的次數,
steps(3)對應0~300(每次變化三次)
steps(1,start)對應0~100~200~300(每次變化1次)
唉,我說不來,大家還是網上搜一下steps()的介紹吧。
2018-01-25