2010-12-28 11 views
21

Kann jemand ein einfaches JQuery Fünf-Sterne-Skript vorschlagen, das einfach zu installieren ist. Ich brauche nur eine einzige Instanz auf einer einzigen Seite. Es ist mir egal, ob es in eine Datei oder in eine MySQL-Datenbank schreibt, um den Rating-Durchschnitt zu berechnen.JQuery Star Rating

Es sollte die Anzahl der Stimmen und den berechneten Durchschnitt anzeigen. Es sollte auch überprüft werden, ob die Person bereits mehr als 2 Bewertungen zu einem Zeitpunkt bewertet hat oder nicht zulassen sollte. Sollte Cookies oder Sitzungen haben, um Mehrfachbewertungen oder andere Mechanismen zu verhindern.

Es ist mir egal, ob es kostenlos oder kosten Geld, aber die Lizenzierung sollte es mir erlauben, es in kommerziellen Anwendungen zu verwenden.

Schätzen Sie alle Vorschläge! Vielen Dank!

P.S. Ich habe ein paar Tage damit verbracht, verschiedene Skripte online auszuprobieren, habe aber nichts gefunden, was wirklich abgeschlossen ist.

+1

@Andrew: Hatten Sie wirklich nichts besseres zu tun, als einseitig eine Frage mit 20 Upvotes zu schließen, und 40+ upvotes für die # 1 Antwort? Wie wäre es, wenn Sie Ihre Moderator-Befugnisse konstruktiver nutzen würden, z. B. um die akzeptierte Antwort so zu ändern, dass sie die Antwort Nr. 1 ist? –

+3

@dan Ihr Timing und Ihr Ton sind sicher geschätzt. –

+1

@AndrewBarber: Angesichts Ihrer Erfolgsbilanz beim Schließen und Löschen von Fragen kann ich von der schönsten Bitte, auf die ich möglicherweise kommen könnte (nachdem ich vor langer Zeit wieder gewählt habe), hoffen, etwas Dampf abzulassen. Wie auch immer - würden Sie diese Frage angesichts des Interesses, das sie in den letzten anderthalb Jahren in der Programmgemeinschaft hervorgerufen hat, gerne wieder aufgreifen? –

Antwort

4

Das sieht schön:
http://www.fyneworks.com/jquery/star-rating/

Aber Sie werden mehr von einem Backend müssen sicherstellen, dass Menschen stimmen kann nicht zweimal machen und durchschnittlich Anzahl der Stimmen zu bekommen. Die Stimmen müssen irgendwo gespeichert werden (oder zumindest im aktuellen Durchschnitt) und ob ein Benutzer bereits abgestimmt hat, sollte auch auf dem Server gespeichert werden.

Dieser Link können Sie sich über einen Teil der serverseitigen Sachen erzählen, die getan werden muss: http://www.yvoschaap.com/index.php/weblog/css_star_rater_ajax_version/

+2

Star-Rating ist ein wenig eingerostet (keine Touch-Unterstützung, zum Beispiel). Sehen Sie sich [RateIt] (http://stackoverflow.com/a/13176213/1269037) an: Berühren Sie den Support, löschen Sie die Browser-Kompatibilität, sehr häufig aktualisiert und viel einfacher auf dem DOM als andere Plugins. –

+0

Auch die Sterne-Bewertung wurde seit Februar 2013 nicht aktualisiert. [RateIt] (http://Stackoverflow.com/questions/4542883/jquery-star-rating/13176213#13176213) wurde letzte Woche aktualisiert. –

49

Ich habe packaged a star rating plugin für meteor, so habe ich ausgewertet alle 11 jQuery Bewertung Plugins aufgelistet here, und der Gewinner ist bei weitem RateIt.

Schnell, Progressive Enhancement, Unterstützung berühren, anpassbare (nur die Bilder tauschen, oder einige CSS ändern), unaufdringliche JavaScript (mit HTML5 Daten- * Attribute), RTL-Unterstützung, unterstützt so viele Sterne wie du würdest wie und auch jede Schrittgröße.

Verkleinerte Größe: 4.35KB (1.55KB wenn gezippt).

Getestet in: IE6-10, Chrome 7-22, Firefox 3.6-16, Opera 10.63-12 - mit jQuery 1.6.2 - 1.8.2. Touch-Support-Test auf dem iPad iOS 4.2.1-5

RateIt kann optional HTML5 range input element verwenden - perfekt für diesen Zweck. No lame <li> Elemente oder Radiobuttons.

Die anderen sind deutlich weniger Lösungen:

Star Rating, the first answer

  • 78 open issues
  • auf Google Code, nicht auf GitHub, die wenig bis gar keine Zugmittel fordert
  • letzte Monate Update 7 vor

Raty, the second answer

  • etwas langsame Entwicklung überprüfen Sie die Fragen tab)
  • keine Erwähnung von Browser-Kompatibilität oder Touch-Unterstützung
  • hat Testsuite

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

  • nur 22 verpflichtet
  • keine Touch-Unterstützung, Browser kompatibel lity Angebot oder etwas
  • raty ist deutlich besser

Wie auch immer, keine dieser Browser-Kompatibilität oder Touch-Unterstützung erwähnt. RATEIT tut, und es erklärt auch klar, warum es besser ist, und von den anderen unterscheidet:

Warum verschiedene RATEIT ist

Obwohl es die gleiche Arbeit wie der Rest der jQuery Sterne-Plugins der Fall ist, der Hauptunterschied ist seine Einfachheit. Die meisten Plugins erstellen ein Element für jeden (Teil-) Stern, sei es ein div mit einem Sternhintergrund oder ein img-Tag. Jedes dieser Tags erhält ein Hover-Ereignis und ein Klickereignis. Und auf diesen Hover/Click-Ereignissen muss es gehen und mit den anderen Sternen sprechen und ihnen sagen, dass sie ihren Zustand ändern müssen.

Also jedes Stern-Plugin macht eine Menge von DOM-Änderungen (Hinzufügen der Anzahl der Sterne als Elemente), und fügt viele Ereignisse hinzu (wieder die Anzahl der Sterne mal 2).

RateIt verwendet im Wesentlichen drei Divs.

Oh, und das letzte Update? Gestern.

+15

Sie haben hier einen guten Job gemacht – Alexander

+0

Ändern der Stern Bild schlägt fehl, ich meine Dimensionen nicht genug Dokumentation - Ich hatte Situation, wenn ich HTML dynamisch laden musste und es gab kein Wort über die Initialisierung Rateit manuell/nach dem Laden von Skripten wieder –

+0

Sieht aus wie Raty ist viel sauberer und besser dokumentiert. – mahatmanich