1

私は gravatar を使用して、ページにストーリーを投稿する各ユーザーのアバターをロードしています。また、jquery を使用して、ページ上のいくつかのスパン要素の角を丸めています。残念ながら、jquery 効果が適用される前に gravatar からアバターを取得するように見えます (gravatar コードがないと、要素はすぐに丸められます)。そのため、サイトに表示された直後に要素の外観が変わります。これを回避する方法はありますか? (私はasp.net mvcを使用しています)

4

3 に答える 3

1

ajaxなどではなく、urlを使用してgravatarをロードしていると思います。 document.ready() はDOMがロードされたときに実行されますが、必ずしもすべての(gravatar)画像がロードされたときではありません。あなたの場合、 window.onload イベントを使用しようとするかもしれません。

于 2008-11-29T18:32:34.723 に答える
0

これは、APIへのJSONP呼び出しを使用してユーザーのGravatarプロファイルを取得する方法の実用的なJsFiddleデモです。

   $("form").on("submit", function(e) {
        e.preventDefault();

        $.ajax("http://en.gravatar.com/" + md5($("#email").val()) + ".json", { dataType: "jsonp" })
        .done(function(result) { 
            for(var idx in result.entry)
            {
                var profile = result.entry[idx];
                console.log(profile);
                $("#displayName").text(profile.displayName);
                $("#avatar").attr("src", profile.thumbnailUrl);
            }
        }).fail(function(result) { console.log("fail", arguments); });


    });
于 2013-03-06T01:18:18.603 に答える
0

外観を変更する jQuery 呼び出しの前に、gravatar 読み込みスクリプトが実行されているように聞こえます。gravatar ロードを手動で呼び出す方法はありますか? その場合、jQuery の document.ready を使用して、最初に表面的な変更を呼び出し、次に gravatar ロードを呼び出すことができます。こうすれば、"より重要な" UI の変更が実行される前に、gravatars が終了するのを待つ必要がなくなります。

于 2008-11-29T18:11:40.630 に答える