0

フェード期間が終了するとすぐに、fadeIn() が 0% から 100% の不透明度になるとはどういう意味ですか?

私はこれを持っています:

function ThreadPost(post, appendToElementId) {

    if (post != null) {
        $("#" + appendToElementId).append("<ol id='" + post.Id + "'></ol>");
        $("#" + post.Id).hide().html(PostHtml(post)).fadeIn(5000);
    }
}

PostHtml() は " <li>....</li>" を返します。

ページが読み込まれると、<ol>は非表示になります。そして、5秒後、<ol>突然 が現れます。退色は発生しません。クロムを使用しています。

4

5 に答える 5

2

jQueryのfadeIn()とshow()がアニメーションではなくポップインするだけで、あらゆる種類の奇妙な問題が発生しました。これがうまく機能するかどうかを確認します。

$("#" + post.Id).css({opacity: 0.0}).html(PostHtml(post)).animate({opacity: 1.0}, 5000);
于 2009-07-23T09:34:53.233 に答える
1

PostHtmlメソッドが何をするかを知ることでできるという点で @Damovisa に同意します。Ajax 呼び出しを行う場合、 fadeInタイムアウトの期限が切れた後に完了する可能性があるため、フェードイン効果が機能していないように見えます。

于 2009-07-22T12:56:14.987 に答える
1

を取り出してみて、hide()それが何をするのか教えてもらえますか? それともhide()、html を設定した後にに移動しますか? いずれにしても、fadeIn メソッドは自動的に非表示にする必要がありますが、試してみる価値はあります。

また、メソッドの機能についてさらに情報を提供できますPostHtmlか? 物事を奇妙に振る舞わせているスタイルを定義している可能性があります。

于 2009-07-22T02:35:51.320 に答える
0

フェードイン()の直前にshow()を呼び出してみましたか?

function ThreadPost(post, appendToElementId) {

    if (post != null) {
        $("#" + appendToElementId).append("<ol id='" + post.Id + "'></ol>");
        $("#" + post.Id).hide().html(PostHtml(post)).show().fadeIn(5000);
    }
}

または単にhide()を取り除く:

function ThreadPost(post, appendToElementId) {

    if (post != null) {
        $("#" + appendToElementId).append("<ol id='" + post.Id + "'></ol>");
        $("#" + post.Id).html(PostHtml(post)).fadeIn(5000);
    }
}
于 2009-07-23T09:41:12.207 に答える