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);
}
賛成票と反対票のボタンがあります。これらのボタンの横に「現在のスコア」が表示され、投票時に増減させたいと思います。
たとえば、ページを読み込んでスコアが200
. 彼らが賛成票を投じると、スコアは に変わり201
ます。彼らが反対票を投じると、スコアを に変更する必要があります199
。なんで?賛成票を投じた後に反対票を投じた場合 (気が変わった場合)、元のスコアから投票する必要があるためです。彼らがアップ投票によって作成した新しいスコアではありません。
基本的に、彼らが賛成票を投じてから反対票を投じると、現在、スコアは元のスコアに戻ります。彼らの投票は行われません。
私はこの仕事をするのに苦労しているので、彼らの投票が行われます...