2012-08-24 12 views
5

簡単な質問:jQueryは、fadeInを使用する際に要素が使用する表示モードをどのように知っていますか?私は何を意味jQuery FadeInは、使用されている表示モードをどのように知っていますか?

は、私が私のCSSで最初にをdisplay:noneを設定した場合でも、Iフェードインすることを任意の要素のための適切な表示モードを使用するように見えるということです - 画像はdivタグはなど、ブロックを使用している、インラインを使用している

GitHubのjQueryソースコードを調べましたが、私が探していたものを見つけることができませんでした。

理由私は、アニメーションを必要とするプロパティが2つ以上あるため、フェードを使用して、少しプラグインを作成しているからです。

答えて

6

それは、それを保存するために$.dataを使用しています。

console.log($._data(elem, "olddisplay")); 

アンダースコアは、それが$.dataまたは$.fn.dataを通じて正常に使用できないデータにアクセスできることを意味します。基本的にこれは内部使用のみのため、あなたはそれに触れてはいけません。

要素はCSSを通じてdisplay:noneに設定し、あなたがそれをフェードインされている場合は、jQueryのは、まだこの場合、それinlineなどを作るために知っている、それがために"inline"を与えるだろう

// Try to determine the default display value of an element 
function css_defaultDisplay(nodeName) { 

機能を使用していますnodeName === "span"

+0

このデータはいつ割り当てられますか? – Jeff

+0

'.hide()'を呼び出すときに@Jeffを書く – Esailija

+1

後でCSSでフェードインする予定のすべての要素にdisplay:noneを設定しますが、それでも動作するようですか? – Jeff

関連する問題