1

私は途方に暮れています。このコードでは、#optionsはフェードインするはずですが、そうではありません。ただし、CSS属性は設定されています。

$("#content > p").animate({ opacity: '0' }, function() {
    $(this).css("display", "none");
    $("#options").css("opacity", "0").show(0, function() {
        $("#options").fadeIn();
    });
});
4

3 に答える 3

2

はまだopacityとして設定されてい0ます。

次のように変更できますfadeIn()...

$("#options").animate({ opacity: 1}, 500);

jsFiddle

于 2011-07-18T00:47:29.513 に答える
2

動作するはずですが、fadeTo()[docs]メソッドの代わりに[docs]メソッドfadeIn()使用する必要があるようです。

$('img').css("opacity", 0).show(0,function() {
    $(this).fadeTo(400, 1);
});

ここでは少し無意味にshow(0,func..思えますが、次のことができる場合は次のようになります。

$('img').css("opacity", 0).show().fadeTo(400, 1);

...期間0に与えているもの.show()が実際にはより大きな数を参照する可能性のある変数でない限り。

于 2011-07-18T00:52:13.737 に答える
0

コードを大幅に簡略化できます。不透明度を0に設定すると、visibility:hiddenCSS属性fadeOut()が複製されますが、CSS属性は複製されdisplay:noneます。これら2つの重要な違いの1つは、後者はレンダリングされたDOMから要素を削除するため、画面上のスペースを占有せず、周囲のノードは要素がそこにあることすら認識しないことです。前者は、要素がまだ存在する大きな空のボックスを作成しますが、それは表示されません。最も一般的な後者を使用したい場合、これは機能するはずです。

$('#content > p').fadeOut('slow', function() {
    $('#options').fadeIn();
});
于 2011-07-18T00:49:43.837 に答える