2014-09-04 21 views
5

jQuery中的$({})是什麼意思?我在這個問題上看到了對這個問題的迴應:Possible to fade out div border?將空對象傳遞給jQuery的目的是什麼?

他用$({alpha:1}).animate({alpha:0})這是如何影響DOM的?

+2

它創建一個jQuery對象。在這種情況下,它將是一個空的對象。他所做的是錯誤的。該代碼不指向DOM對象。而且你只能動畫DOM對象。 – 2014-09-04 15:09:23

+0

@true我不會說他錯了,這是一個讓動畫不能動畫的屬性動畫的技巧! – 2014-09-04 15:22:48

+0

@ Karl-AndréGagnon我同意說他錯了,這在政治上是不正確的。 – 2014-09-04 15:41:17

回答

6

jQuery中的$({})是什麼意思?

這意味着「傳遞一個空對象到jQuery並從中創建一個jQuery對象」。

這是如何影響DOM和字面上會發生什麼?

它根本不影響DOM,它只是隨着時間改變對象{alpha:1}的屬性值。

如在documentation中所述,您可以在普通對象上使用一些jQuery方法。雖然它似乎有點過時,因爲animate沒有在那裏列出。但它確實有效:

> $({alpha:1}).animate({alpha:0}, {step: function() { console.log(this.alpha); }}) 
1 
0.9965342284774632 
0.9870866934849247 
0.9730426794137726 
0.9524135262330098 
0.9242551074907518 
0.8926584654403724 
0.8563192594626027 
... 
相關問題