私はエイドリアンと一緒です。それは本当に問題ではありませんでした。しかし、あなたは正しいです。要素を表示/非表示にするもの(たとえば、show、hide、togle、fadeOutなど)を使用すると、jQueryは表示プロパティの非常に単純な変換を行います。
私は正直なところ、なぜ彼らがこれを行うのか理解していません(単に表示を次のように設定する方がはるかに簡単です:
isShown ? '' : 'none';
それらのロジックの代わりに、本質的に:
isShown ? 'block' : 'none';
)しかし、彼らは彼らがすることのほとんどすべてに理由があるので、私は彼らが物事に間違った表示タイプを設定することの背後にあるいくつかの論理を持っていると思います。
* 編集 *
私が疑ったように、jQueryの人々には理由がありました(jfriend00からのコメントを参照してください)。また、質問には実際の質問があることがわかります。
どうすればfadeIn()を表示してインラインにすることができますか?
答えは、fadeInがどのように機能するかを確認する必要があるということです。本質的にそれはただです:
this.animate({opacity: "show"}, speed, easing, callback );
つまり、次のようになります。
this.animate({opacity: '100%'}, speed, easing, function() {
this.css('display', 'block')
});
(警告:私は実際にはjQueryのアニメーション機能の大口ユーザーではないので、上記のコードは機能するはずですが、約束はしません)。
それを前提として、表示を他の何か(sayなど'inline'
)に設定したい場合は、次のことができます。
this.animate({opacity: '100%'}, speed, easing, function() {
this.css('display', 'inline') // or you could use this.css('display', '')
});