jQuery fadeInはdisplay:noneを表示できるが、animateでopacityをいじった場合はダメ
いや、まぁばかばかしい話なんですけどね。
jQueryでフェードインのアニメーションを作る時、普通はfadeIn()を使うと思うんですよね。
フェードインしたい要素をdisplay:noneにしておいて、fadeIn()すると。
これに加えて、位置を動かしたり大きさ変えたりしたい時はanimate()を使うことになると思います。
animateだと、元々CSSで設定されている状態から、animateの引数で設定したCSSの状態に徐々に切り替わるというアニメーションになります。
animateでフェードする時はopacityを設定して徐々に透明度を変化するよう設定すると思います。
で、元々見えなかった要素を徐々に表示するアニメーションを作るにあたって、普段fadeIn()を使う感覚で、CSSでdisplay:noneにして置いたんですね。
その要素に対してanimate()を設定し、opacityが1になるようにしたのですが、表示されない。
ホントばかばかしいんですがこんなところで一瞬はまりまして。
よく考えればopacityが0だろうが1だろうが、display:noneである限り見えないに決まってます。
animate()でフェードインするなら、初期設定はdisplay:noneではなく、opacity:0にしておく必要があるんだね、という話。
jQueryでフェードインのアニメーションを作る時、普通はfadeIn()を使うと思うんですよね。
フェードインしたい要素をdisplay:noneにしておいて、fadeIn()すると。
これに加えて、位置を動かしたり大きさ変えたりしたい時はanimate()を使うことになると思います。
animateだと、元々CSSで設定されている状態から、animateの引数で設定したCSSの状態に徐々に切り替わるというアニメーションになります。
animateでフェードする時はopacityを設定して徐々に透明度を変化するよう設定すると思います。
で、元々見えなかった要素を徐々に表示するアニメーションを作るにあたって、普段fadeIn()を使う感覚で、CSSでdisplay:noneにして置いたんですね。
その要素に対してanimate()を設定し、opacityが1になるようにしたのですが、表示されない。
ホントばかばかしいんですがこんなところで一瞬はまりまして。
よく考えればopacityが0だろうが1だろうが、display:noneである限り見えないに決まってます。
animate()でフェードインするなら、初期設定はdisplay:noneではなく、opacity:0にしておく必要があるんだね、という話。
コメント