2010-12-28 23 views
21

Puede alguien sugerir un simple jQuery cinco estrellas guión que es fácil de configurar. Solo necesito una sola instancia en una sola página. No me importa si escribe en un archivo o base de datos mysql para calcular el promedio de calificación.jQuery Grado de la estrella

Se debe mostrar el número de votos y la media calculada. También debe verificar si la persona ya calificó o no debería permitir más de 2 calificaciones a la vez. Debe tener cookies o sesiones para evitar clasificaciones múltiples o algún otro mecanismo.

No me importa si su dinero gratis o al costo, pero la concesión de licencias deben permitir que la utilice en aplicaciones comerciales.

apreciar todas las sugerencias! ¡Gracias!

P.S. Pasé un par de días probando diferentes scripts en línea, pero no he encontrado nada que realmente esté completo.

+1

@Andrew: ¿realmente no tienes nada mejor que hacer que unilateralmente cerrar una pregunta con 20 votos positivos y más de 40 votos hacia arriba para la respuesta número 1? ¿Qué le parece usar los poderes de su moderador de manera más constructiva, como cambiar la respuesta aceptada para que sea la respuesta número 1? –

+3

@dan Tus tiempos y tu tono son ciertamente apreciados. –

+1

@AndrewBarber: teniendo en cuenta su historial de cerrar y eliminar preguntas, todo lo que puedo esperar de la mejor solicitud que pude haber presentado (después de haber votado para reabrir hace mucho tiempo), es desahogarme. Pero de todos modos, ¿le agradaría considerar la reapertura de esta pregunta, a la luz del interés que ha generado en la comunidad de programación durante el último año y medio? –

Respuesta

4

Esto se ve bien:
http://www.fyneworks.com/jquery/star-rating/

pero se necesita más de un backend para asegurarse de que la gente no puede votar dos veces y obtener un promedio de número de votos. Los votos deben almacenarse en algún lugar (o al menos el promedio actual) y también debe guardarse en el servidor si un usuario votó o no.

Este enlace le puede informar sobre algunas de las cosas del lado del servidor que hay que hacer: http://www.yvoschaap.com/index.php/weblog/css_star_rater_ajax_version/

+2

Star-Rating es un poco oxidado (sin soporte táctil, por ejemplo). Eche un vistazo a [RateIt] (http://stackoverflow.com/a/13176213/1269037): toque compatibilidad, borre la compatibilidad del navegador, actualice con mucha frecuencia y sea mucho más fácil en DOM que en otros complementos. –

+0

Además, la clasificación por estrellas no se ha actualizado desde febrero de 2013. [RateIt] (http://stackoverflow.com/questions/4542883/jquery-star-rating/13176213#13176213) se actualizó la semana pasada. –

49

He packaged a star rating plugin para meteor, por lo que he evaluado todos los plugins jQuery 11 de calificación enumeran here, y el ganador es, de lejos, RateIt.

rápido, Mejora progresiva, toque de apoyo, personalizable (simplemente intercambiar las imágenes, o cambiar un poco de CSS), JavaScript no obstructivo (usando HTML5 Data- * atributos), soporte RTL, soporta tantas estrellas como desee como, y también cualquier tamaño de paso.

tamaño minified: 4.35KB (1.55KB cuando gzip).

Probado en: IE6-10, Chrome 7-22, Firefox 3,6 a 16, Opera 10,63-12 - usando jQuery 1.6.2 - 1.8.2. Toque prueba de compatibilidad en iPad iOS 4.2.1-5

RateOt puede utilizar opcionalmente el HTML5 range input element - perfecto para este propósito. No hay elementos cojos <li> o botones de radio.

Los otros son claramente las soluciones de menor:

Star Rating, the first answer

  • 78 open issues
  • en Google Code, no en GitHub, lo que significa poco o ningún tirón pide
  • hace
  • última actualización de 7 meses

Sólo 22 10

  • desarrollo algo lento, verifique la pestaña temas)
  • ninguna mención de la compatibilidad del navegador o soporte táctil
  • tiene banco de pruebas

https://github.com/ripter/jquery.rating

  • compromete
  • soporte sin toque, compatible con el navegador lidad lista ni nada
  • raty es claramente mejor

De todos modos, ninguno de ellos menciona la compatibilidad del navegador o soporte táctil. RateIt hace, y también explica claramente por qué es mejor y diferente de los demás:

Por qué se RateIt diferente

A pesar de que hace el mismo trabajo que el resto de los plugins categoría del jQuery, la principal diferencia es su simplicidad La mayoría de los complementos crean un elemento para cada estrella (parcial), ya sea un div con un fondo de estrella o una etiqueta img. Cada una de estas etiquetas obtiene un evento de desplazamiento y un evento de clic. Y en estos eventos de desplazamiento/clic tiene que ir y hablar con las otras estrellas, diciéndoles que cambien su estado.

Así que cada plugin de estrella hace muchas modificaciones de DOM (agregando la cantidad de estrellas como elementos), y agrega muchos eventos (de nuevo el número de estrellas multiplicado por 2).

RateIt utiliza básicamente tres divs.

¿Ah, y la última actualización? Ayer.

+15

Usted, señor, hizo un buen trabajo aquí – Alexander

+0

cambiando la imagen de la estrella falla, quiero decir dimensiones no hay suficiente documentación - Tuve una situación cuando necesitaba cargar html dinámicamente y no había ninguna palabra acerca de inicializar rateit manualmente/después de la carga del script de nuevo –

+0

Parece que Raty es mucho más limpio y está mejor documentado. – mahatmanich

Cuestiones relacionadas