var $arrow = $(this);
var $sibling = $arrow.siblings('span.arrow');
var $score = $arrow.siblings('span.score');
var vote = $arrow.hasClass('up') ? 'up' : 'down';
var alreadyVoted = $sibling.hasClass('voted');
if (!USER_LOGGED_IN)
{
alert('You must be logged into vote');
}
else if (!$arrow.hasClass('voted'))
{
if (alreadyVoted)
$sibling.removeClass('voted');
$arrow.addClass('voted');
$score[0].innerHTML = parseInt($score[0].innerHTML) + ((vote == 'up') ? 1 : -1);
}
У меня есть кнопка upvote и downvote. Рядом с этими кнопками отображается «текущая оценка», которую я хотел бы увеличить/уменьшить при подаче голоса.Внедрение системы upvote/downvote в Javascript, но не получается получить правильную математику
Например, еслигрузка этой страницы завершена, тактильно отобразиться 200
. Когда они будут повышены, оценка изменится на 201
. Когда они понижают, оценка должна быть изменена на 199
. Зачем? Потому что, если они понижают уровень после выживания (передумают), тогда голосование должно идти от первоначальной оценки. Не новый балл, который они создали путем выживания.
В принципе, если они выше, а затем вниз, оценка, в настоящее время, возвращается к исходному счету. Их голос не передается.
У меня возникают проблемы, делая эту работу, чтобы их голос отливают ...
Большое спасибо за код в вопросе. Я тоже пытаюсь реализовать что-то подобное, но я не очень разбираюсь в jQuery и не могу выбрать правильные элементы. – 11684