題1:specialEasing: {,easeOutBounce'分別是什么意思? 題二的47now,fx 代表什么?step代表什么?59行now, fx代表什么? 還有progress:代表什么?arguments[1])代表什么?求詳解的擼,多謝
題1:$('#elem').animate({
? ? width: 'toggle', ?
? ? height: 'toggle'
? }, {
? ? duration: 5000,
? ? specialEasing: {
? ? ? width: 'linear',
? ? ? height: 'easeOutBounce'
? ? },
? ? complete: function() {
? ? ? $(this).after('<div>Animation complete.</div>');
? ? }
? });
截圖中題二:
{
??????????????? duration :2000,
??????????????? //每一個動畫都會調用
??????????????? step: function(now, fx) {
?????????????????? $aaron.text('高度的改變值:'+now)
??????????????? }
??????????? })
??????? } else if (v == "2") {
??????????? //觀察每一次進度的變化
??????????? $aaron.animate({
??????????????? height: '50'
??????????? }, {
??????????????? duration :2000,
??????????????? //每一步動畫完成后調用的一個函數,
??????????????? //無論動畫屬性有多少,每個動畫元素都執行單獨的函數
??????????????? progress: function(now, fx) {
?????????????????? $aaron.text('進度:'+arguments[1])
??????????????????? // var data = fx.elem.id + ' ' + fx.prop + ': ' + now;
??????????????????? // alert(data)
??????????????? }
??????????? })
??????? }
2018-12-30
剛學只能解答部分,如果說錯歡迎指正。
specialEasing - 來自?styles?參數的一個或多個 CSS 屬性的映射,以及它們的對應 easing 函數
step - 規定動畫的每一步完成之后要執行的函數
progress - 每一次動畫調用的時候會執行這個回調,就是一個進度的概念
以上是定義。
例子1中,
?step: function(now, fx) {
?????????????????? $aaron.text('高度的改變值:'+now)
這里的,now,和 fx 應該是自定義的,我嘗試換成別的字母開頭的內容,并不影響動畫執行。
再說一下,例子中now出來的值是50,數據是來源于height,我在height: '50',后依次增加了 width:'100' ,和marginLeft:'20' ,可見,now出來的值是根據最后一個屬性來的。
例子2中,
progress: function(now, fx) {
?????????????????? $aaron.text('進度:'+arguments[1])
參考定義:progress
Type: Function( Promise animation, Number progress, Number remainingMs )
來源:http://api.jquery.com/animate/
搜來的定義,arguments指的是函數的內置對象 。我的理解是,arguments(和progress一起使用)表示的是進度值,arguments[1],表示進度是100%了,嘗試改變方括號里面的值,并不影響函數執行和輸出的結果,刪掉方括號亦然。
2017-11-23
這樣的東西需要自己百度自己去學
2017-11-18
百度去