Foros del Web » Programando para Internet » Javascript »

calificacion de votos

Estas en el tema de calificacion de votos en el foro de Javascript en Foros del Web. hola necesitaría sumar los votos de los li y sacar el promedio con los clicks sin tocar el html. promedio = suma de votos/click, recién ...
  #1 (permalink)  
Antiguo 20/06/2015, 15:06
 
Fecha de Ingreso: junio-2015
Mensajes: 1
Antigüedad: 8 años, 10 meses
Puntos: 0
Pregunta calificacion de votos

hola necesitaría sumar los votos de los li y sacar el promedio con los clicks sin tocar el html.
promedio = suma de votos/click, recién empiezo con programación DOM y no esta saliendo.

</span><ul id="puntines"><li title="Calificar con 1 estrella">1</li><li title="Calificar con 2 estrellas">2</li><li title="Calificar con 3 estrellas">3</li><li title="Calificar con 4 estrellas">4</li><li title="Calificar con 5 estrellas">5</li></ul>

<scripts>
var puntines= document.getElementById('puntines');
var lis= puntines.getElementsByTagName('li');

var click=0;

for(var j=0; j<lis.length; j++){

lis[j].onclick=function(){

click= click + 1;

console.log('clicks'+click);

var numero=parseInt(this.innerHTML);

var span= document.getElementById('puntaje');
var textoSpan= document.createTextNode(numero);
span.innerHTML='';
span.appendChild(textoSpan);

}
}
</scripts>
  #2 (permalink)  
Antiguo 22/06/2015, 09:26
Avatar de newboy_master  
Fecha de Ingreso: enero-2008
Ubicación: Granada
Mensajes: 882
Antigüedad: 16 años, 3 meses
Puntos: 46
Respuesta: calificacion de votos

Podías haber puesto el código de "puntaje", me lo he imaginado.

Código HTML:
Ver original
  1. <span id="puntaje" style="display:none">0</span>
  2. <span id="promedio">0</span>
  3. <ul id="puntines">
  4.     <li title="Calificar con 1 estrella">1</li>
  5.     <li title="Calificar con 2 estrellas">2</li>
  6.     <li title="Calificar con 3 estrellas">3</li>
  7.     <li title="Calificar con 4 estrellas">4</li><li title="Calificar con 5 estrellas">5</li>
  8. </ul>

Código Javascript:
Ver original
  1. var puntines= document.getElementById('puntines');
  2.     var lis= puntines.getElementsByTagName('li');
  3.    
  4.     var click=0;
  5.     var numero=0;
  6.     var promedio=0.0;
  7.     var total= document.getElementById('puntaje');
  8.     var span2= document.getElementById('promedio');
  9.     var textoSpan = document.createTextNode(promedio);
  10.     for(var j=0; j<lis.length; j++){
  11.    
  12.         lis[j].onclick=function(){
  13.        
  14.         click = click + 1;
  15.        
  16.         console.log('clicks'+click+'   '+parseInt(this.innerHTML));
  17.         promedio=(parseFloat(total.innerHTML)+parseInt(this.innerHTML))/click;
  18.         promedio = Math.round(promedio * 100) / 100;
  19.        
  20.         textoSpan = document.createTextNode(promedio);
  21.         total.innerHTML=parseInt(total.innerHTML)+parseInt(this.innerHTML);
  22.         span2.innerHTML='';
  23.         span2.appendChild(textoSpan);
  24.    
  25.         }
  26.     }

Demo: https://jsfiddle.net/euy0uzL2/

Salu2.
__________________
@jslirola - Programador Web Freelance.

Etiquetas: calificacion, html, votos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:06.