这是来自Tumblr文档的说明:
Tumblr.LikeButton.get_status_by_page(n)
:请求新的帖子页面后调用此函数。将刚刚加载的页码作为整数。
Tumblr.LikeButton.get_status_by_post_ids([n,n,n])
:请求赞成个别帖子的状态。获取一系列帖子ID。
使用解决方案here和here几次都会询问此问题。这两个答案都可以告诉您如何使用帖子ID请求类似按钮状态。那么有一个更简单,可能更快的解决方案吗?
我将分享我是如何做到的,请分享您的意见。
答案 0 :(得分:3)
接受的答案here中发生的事情是:
现在,您可以在新页面加载页码后请求类似按钮状态。
请求具有页码的按钮状态。
var $initialNumberOfPosts = $('.post').length; // Get number of posts
$('#posts').infinitescroll({
loading: {
msgText: "Loading..",
img: "/loading_image.gif",
finishedMsg: "End!"
},
navSelector : "#pagination",
nextSelector : "#nextpage",
itemSelector: ".post"
},
function(newElements) {
var $currentNumberOfPosts = $('.post').length; // Get current number of posts
var pageNumber = Math.ceil($currentNumberOfPosts / $initialNumberOfPosts); // Get page number
Tumblr.LikeButton.get_status_by_page(pageNumber); // Request like button status
});
*使用(.ceil),因为用户可能每页选择了15个帖子,但可能会少于最后一页中的帖子。
更新:2014年3月5日。
它们是使用Tumblr变量获取页码的更简单方法,并在新页面加载时增加它。请尝试以下方法:
请求当前页码的按钮状态。
var pageNumber = {CurrentPage}; // Get current Page number ( Will not work in external file)
$('#posts').infinitescroll({
loading: {
msgText: "Loading..",
img: "/loading_image.gif",
finishedMsg: "End!"
},
navSelector : "#pagination",
nextSelector : "#nextpage",
itemSelector: ".post"
},
function(newElements) {
pageNumber++; // Get page number after new page is loaded.
Tumblr.LikeButton.get_status_by_page(pageNumber); // Request like button status
});
//结束更新。
*这是一个示例脚本,用于了解如何使用Paul Irish的无限滚动请求类似按钮状态。
所以在这两方面,它大致是3-4步。我的解决方案似乎更容易为我设置,所以我使用它。你可以使用对你来说更好的东西。
我认为我的解决方案更快,因为它使用简单的功能,但这正是我的想法;我现在没有任何证据。谢谢!