1

我正在使用 gravatar 为在页面上发布故事的每个用户加载头像。我还使用 jquery 来圆化页面上某些 span 元素的角。不幸的是,看起来从 gravatar 抓取头像发生在应用 jquery 效果之前(没有 gravatar 代码,元素会立即四舍五入),因此元素在网站上可见后会立即改变外观。有没有办法解决这个问题?(我正在使用 asp.net mvc)

4

3 回答 3

1

我想您正在使用 urls 加载 gravatar,而不是 ajax 等。 document.ready() 将在加载 DOM 时执行,而不一定在加载所有(gravatar)图像时执行。您可以尝试在您的情况下使用 window.onload 事件。

于 2008-11-29T18:32:34.723 回答
0

听起来您的 gravatar 加载脚本在外观修改 jQuery 调用之前正在执行。有什么方法可以手动调用 gravatar 加载?如果是这样,您可以使用 jQuery 的 document.ready 先调用您的外观更改,然后调用 gravatar 加载。这样,您就不会在“更重要”的 UI 更改运行之前等待 gravatar 完成。

于 2008-11-29T18:11:40.630 回答
0

这是一个有效的 JsFiddle 演示,如何使用 JSONP 调用 API 来获取用户的头像配置文件

   $("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 回答