2016-02-06 42 views
0

我有一個動畫,通過將不透明度縮小到0來從屏幕上移除內容。然後我想將可見性的css屬性設置爲隱藏。爲了使序列正確,我一直試圖使用一個警告框來知道事件何時觸發。警告框不顯示。這是我的代碼:當聲明完成時jQuery回調不會觸發:?

   $('.save-hidden').animate({ 
        opacity: 0, 
        complete: function() { alert('Executes now.');} 
       }, 2000); 

我的語法是否正確調用函數?正如我所說,警報從不顯示。

我打算用下面的調用來替代它:

   $('.save-hidden').css({ visibility: "visible"}); 

謝謝!

回答

1

jQuery的animate()支持兩種不同類型的語法,第一個是

.animate(properties [, duration ] [, easing ] [, complete ]) 

,你會用這樣的方式

$('.save-hidden').animate({opacity: 0}, 2000, function() { 
    alert('Executes now.');} 
}); 

第二個語法,它看起來像你想的一個使用,將是

.animate(properties, options) 

在這裏你可以使用兩個對象,即第一個包含要動畫的屬性,第二個包含選項,如complete()等。

換句話說,complete回調不屬於具有要動畫屬性的對象,但可以將另一個對象添加爲第二個參數,包含如duration,complete,queue,queue
請注意,此語法將在選項對象中具有所有回調,緩動等,並且只接受兩個參數。

$('.save-hidden').animate({ 
    opacity: 0 
}, { 
    complete: function() { 
     alert('Executes now.'); 
    }, 
    duration : 2000 
}); 
+0

使用你的語法,警告似乎工作,但在CSS中的設置不。有什麼我必須改變做這項工作?更新代碼:\t \t \t \t $( '保存隱藏。')動畫( \t \t \t \t \t {不透明度:0}, \t \t \t \t \t { \t \t \t \t \t \t完整:{功能( ){$('。save-hidden')。css({visibility:「hidden」});}}, \t \t \t \t \t \t duration: 2000 \t \t \t \t \t} \t \t \t \t); – user1955162

+0

我明白了,我沒有遵循上面定義的結構。非常感謝! – user1955162

相關問題