pluto3/assets/js/osetin-feature-like.js
2017-09-19 16:23:41 +08:00

54 lines
1.9 KiB
JavaScript

( function( $ ) {
"use strict";
$( function() {
$('body').on('click', '.osetin-vote-trigger', function(){
var $button = $(this);
var post_id = $(this).data('post-id');
var vote_action = $(this).data('vote-action');
var current_votes_count = $(this).data('votes-count') ? $(this).data('votes-count') : 0;
var new_votes_count;
if(vote_action == 'vote'){
$button.removeClass('osetin-vote-not-voted').addClass('osetin-vote-has-voted');
new_votes_count = current_votes_count + 1;
$button.data('votes-count', new_votes_count);
$button.data('vote-action', 'unvote');
$button.find('.osetin-vote-count').text(new_votes_count);
if(new_votes_count > 0) $button.find('.osetin-vote-count').removeClass('hidden');
$button.find('.osetin-vote-action-label').text($button.data('has-voted-label'));
}else{
$button.addClass('osetin-vote-not-voted').removeClass('osetin-vote-has-voted');
new_votes_count = current_votes_count - 1;
$button.data('votes-count', new_votes_count);
$button.data('vote-action', 'vote');
$button.find('.osetin-vote-count').text(new_votes_count);
if(new_votes_count === 0) $button.find('.osetin-vote-count').addClass('hidden');
$button.find('.osetin-vote-action-label').text($button.data('not-voted-label'));
}
$.ajax({
type: 'POST',
url: ajaxurl,
data: {
"action": "os_vote_process_request",
"vote_post_id" : post_id,
"vote_action" : vote_action
},
dataType: "json",
success: function(data){
if(data.status == 200){
var count = data.message.count;
var has_voted = data.message.has_voted;
if(has_voted){
}else{
}
}
}
});
return false;
});
});
} )( jQuery );