任何人都可以建议一个易于设置的简单JQuery五星评级脚本。我只需要在一个页面上有一个实例。我不在乎它是否写入文件或mysql数据库来计算平均评分。
它应显示投票数和计算的平均值。它还应检查此人是否已经评级或不应允许一次超过2个评级。应该有cookie或会话来防止多个评级或其他一些机制。
我不在乎它是免费还是花钱,但是许可应该允许我在商业应用中使用它。
感谢所有建议!谢谢!
P.S。我花了几天时间在线尝试不同的脚本,但没有找到任何实际完成的脚本。
答案 0 :(得分:50)
我packaged a star rating plugin meteor,所以我评估了here列出的所有11个jQuery评级插件,到目前为止,获胜者是RateIt。
快速,渐进增强,触摸支持,可自定义(只需更换图像或更改一些CSS),不显眼的JavaScript(使用HTML5数据 - *属性),RTL支持,支持任意数量的星星,以及也是任何步长。
缩小尺寸:4.35KB(gzip压缩时为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 range input element - 完美用于此目的。没有蹩脚的<li>
元素或单选按钮。
其他人显然是较小的解决方案:
https://github.com/ripter/jquery.rating
无论如何,这些都没有提到浏览器兼容性或触摸支持。 RateIt确实如此,它也清楚地解释了为什么它比其他更好和不同:
为什么RateIt不同
虽然它与其他jQuery星级评级插件完成相同的工作,但主要区别在于它的简单性。 大多数插件为每个(部分)星形创建一个元素,无论是具有星形背景的div还是img标记。 这些标记中的每一个都会获得悬停事件和点击事件。在这些悬停/点击事件中,它必须去与其他明星交谈,告诉他们改变他们的状态。
因此,每个星形插件都会进行大量的DOM更改(添加星数作为元素),并添加大量事件(同样数量的星数乘以2)。
RateIt基本上使用了三个div。
哦,最后一次更新?的昨天。强>
答案 1 :(得分:4)
这看起来不错:
http://www.fyneworks.com/jquery/star-rating/
但是你需要更多的后端来确保人们不能投票两次并获得平均投票数。投票需要存储在某个地方(或者当前的平均值)以及投票的用户是否也应该存储在服务器上。
此链接可以告诉您需要完成的一些服务器端内容: http://www.yvoschaap.com/index.php/weblog/css_star_rater_ajax_version/