Я работаю над темой блога, где вы можете лайкать сообщения со страницы темы. Он использует следующий javascript, чтобы понравиться сообщению с помощью API tumblr, изменить белое сердце на красное сердце, а также +1 к счетчику заметок сообщения, отображаемому над кнопками «Нравится». Это работает нормально, но у меня проблема: когда вы нажимаете кнопку сердца, она становится красной, лайкает пост и +1 к количеству заметок, но вы можете продолжать нажимать кнопку, когда она уже понравилась, и она продолжает добавлять один к счету заметок. Может ли кто-нибудь помочь мне сделать так, чтобы эта функция работала только один раз, например: кто-то нажимает кнопку сердца, она становится красной, добавляет единицу к количеству заметок, а затем готово.
$(function() {
$('.likepost').live('click', function() {
var post = $(this).closest('article');
var id = post.attr('id');
var oauth = post.attr('rel').slice(-8);
var count = parseInt($("#note_count_"+ id).text());
var like = 'http://www.tumblr.com/like/'+oauth+'?id='+id;
$('#like-it').attr('src', like);
$(this).css({"background" : "url(http://static.tumblr.com/uiqhh9x/JYdlzwvnx/like2.png)"});
$("#note_count_"+ id).text(count+1);
return false;
});
});
Кстати, он работает на http://blog.jamescharless.com/. Вы должны войти в Tumblr, чтобы скрипт работал.