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);
}
Tengo un voto positivo y un voto a favor. Un "puntaje actual" se muestra al lado de estos botones que me gustaría incrementar/disminuir cuando se lanza un voto.Implementando un sistema de voto/voto modificado en Javascript pero no puede obtener el matemático correcto
Por ejemplo, si cargan la página y ven que el puntaje es 200
. Cuando voten a favor, el puntaje cambiará a 201
. Cuando votan negativamente, el puntaje debe cambiar a 199
. ¿Por qué? Porque si votan negativamente después de la votación ascendente (cambian de opinión), entonces la votación debe ir desde el puntaje original. No es el nuevo puntaje que crearon mediante la votación ascendente.
Básicamente, si subieron y luego bajan, el puntaje, en la actualidad, vuelve a la calificación original. Su voto no está emitido.
estoy teniendo problemas para hacer este trabajo por lo que se emitieron su voto ...
Muchas gracias por el código en la pregunta. Estoy intentando implementar algo así también ahora, pero no tengo mucha experiencia con jQuery y no pude seleccionar los elementos correctos. – 11684