谁能推荐一个易于设置的简单 JQuery 五星级评分脚本。我只需要一个页面上的一个实例。我不在乎它是否写入文件或 mysql 数据库来计算平均评分。
它应该显示投票数和计算的平均值。它还应该检查该人是否已经评分或一次不应允许超过 2 个评分。应该有 cookie 或会话以防止多个评级或其他一些机制。
我不在乎它是免费的还是收费的,但许可应该允许我在商业应用程序中使用它。
感谢所有建议!谢谢!
PS 我花了几天时间在网上尝试不同的脚本,但没有找到任何真正完整的东西。
我已经为meteor打包了一个星级插件,所以我评估了这里列出的所有11 个jQuery 评级插件,到目前为止,获胜者是RateIt。
快速、渐进式增强、触控支持、可定制(只需更换图像或更改一些 CSS)、不显眼的 JavaScript(使用 HTML5 data-* 属性)、RTL 支持、支持任意数量的星星,以及任何步骤尺寸。
缩小后的大小:4.35KB(压缩后为 1.55KB)。
测试:IE6-10、Chrome 7-22、Firefox 3.6-16、Opera 10.63-12 - 使用 jQuery 1.6.2 - 1.8.2。iPad iOS 4.2.1-5 上的触控支持测试
RateIt 可以选择使用HTML5 范围输入元素- 非常适合此目的。没有蹩脚<li>
的元素或单选按钮。
其他显然是较小的解决方案:
https://github.com/ripter/jquery.rating
无论如何,这些都没有提到浏览器兼容性或触摸支持。RateIt 确实如此,它也清楚地解释了为什么它比其他更好和不同:
为什么 RateIt 不同
尽管它与其他 jQuery 星级插件的工作相同,但主要区别在于它的简单性。大多数插件为每个(部分)星创建一个元素,无论是带有星形背景的 div 还是 img 标签。这些标签中的每一个都有一个悬停事件和一个点击事件。在这些悬停/点击事件中,它必须去和其他星星交谈,告诉他们改变他们的状态。
所以每个星插件都会做很多 DOM 更改(添加星的数量作为元素),并添加很多事件(同样是星的数量乘以 2)。
RateIt 基本上使用三个 div。
哦,最后一次更新?昨天。
这看起来不错:
http ://www.fyneworks.com/jquery/star-rating/
但是您将需要更多的后端来确保人们不能投票两次并获得平均票数。投票需要存储在某个地方(或至少是当前平均值),并且用户是否已经投票也应该存储在服务器上。
这个链接可以告诉你一些服务器端需要做的事情: http ://www.yvoschaap.com/index.php/weblog/css_star_rater_ajax_version/