2011-11-27 69 views
1

我想为Tumblr博客的主页上的每个帖子获得一个内嵌像按钮,就像http://cicerontheme.tumblr.com/类似的按钮。Tumblr内联像主页上的按钮

我遵循Tumblr — getting the 8 digit reblog code on home page (nearly there...)的建议,并将其包含在我的代码中。

$('a.likeLink').click(function() { 
    var post = $(this).closest('.post'); 
    var id = post.attr('id'); 
    var oath = post.attr('rel').slice(-8); 
    var like = 'http://www.tumblr.com/like/'+oath+'?id='+id; 
    $('#likeit').attr('src', like); 
}); 

我已经使用{帖子ID}和{ReblogURL},这两者是的tumblr的可变标记,对于ID和rel属性的值,“后”一类的HTML标记的分别。我还包括ifit为它发送一个请求http://www.tumblr.com/like/ ....

现在,我不知道哪些HTML标记这些属性属于,所以我已经查看了Ciceron的来源,并已注意到它们被包含在一个div标签中,用于包装帖子内容以及一个标签和reblog按钮。我试图遵循,但它不会工作。

我也尝试把这些属性放在很多不同的标签中,但它们仍然不起作用。我甚至不确定它的失败是否是由于放置属性而导致的。

如果有人已经得到它的工作,我会很高兴,可以帮助我把它工作。谢谢。

回答

0

尝试改变这一点:

$('#likeit').attr('src', like); 

到:

$(this).attr('src', like); 

,并验证等环节是正确的,你既可以做:

alert(like); 

,或者如果你有萤火虫或铬做:

console.debug(like); 
1

更新:我有详细的说明:http://like-button.tumblr.com。我已经不再需要从帖子中获取id,而是将其放在链接本身上。我已经完成了整个过程的剪切和粘贴。

您需要将rel属性放在后置包装上,而不是post类。这就是她的路线:

var post = $(this).closest('.post'); 

正在做。所以它应该看起来像:

<div id="{PostID}" rel="{ReblogURL}" class="post"> 
    <!-- post goes here --> 
</div>