JQuery星级评分

22

有人能推荐一个简单易用的JQuery五星评分脚本吗?我只需要在单个页面上使用一次。无论它是将评分结果写入文件还是MySQL数据库进行计算平均值都无所谓。

它应该显示投票数和计算出的平均值。它还应该检查个人是否已经评价过或不允许同时评价超过2次。应该有cookie或会话来防止多次评价或其他机制。

我不介意它是免费还是收费,但授权应该允许我在商业应用中使用它。

感谢任何建议!谢谢!

P.S. 我花了几天时间尝试在线测试不同的脚本,但并没有找到完整的脚本。


1
@Andrew:你真的没有更好的事情要做吗?就这样单方面关闭一个有20个赞和40多个赞的最佳答案问题?为什么不更有建设性地利用你的版主权限,将被接受的答案改为排名第一的答案呢? - Dan Dascalescu
3
你的时间选择和语气确实让人感激。 - Andrew Barber
1
@AndrewBarber:鉴于您关闭和删除问题的记录,我所能希望的就是通过最友好的请求(在很久以前投票重新开放后),发泄一些情绪。但无论如何,您是否可以考虑重新开放这个问题,因为它在过去一年半中引起了编程社区的兴趣? - Dan Dascalescu
3
@dan,这不是讨论的合适场所。如果社区希望的话,他们可以撤销我的决定。我认为没有理由这样做。“利益”并不是其中之一。 - Andrew Barber
5
@Dan Dascalescu:修改已接受的答案不是版主所拥有的权限之一,因此即使我们想要这样做,也无法实现。要求产品建议的问题明确被视为我们网站的禁止主题。无论有多少浏览量或投票都无法改变这一点。无论如何,如果您认为有理由重新开放此问题,请随时在元数据上发布。 - BoltClock
我必须说,我不欣赏@AndrewBarber的语气。 - tadasajon
2个回答

50

我已经为Meteor打包了一个星级评分插件(packaged a star rating plugin),因此我已经评估了这里列出的所有11个jQuery评级插件(here),而胜利者是迄今为止最好的(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范围输入元素-非常适合此目的。没有愚蠢的<li>元素或单选按钮。
其他解决方案明显较差: 星级评分,第一个答案
  • 78个未解决问题
  • 在Google Code上,而不是GitHub上,这意味着几乎没有拉取请求
  • 最近更新于7个月前
Raty,第二个答案
  • 开发有点缓慢(请查看问题标签)
  • 没有提到浏览器兼容性或触摸支持
  • 有测试套件

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

  • 只有22次提交
  • 没有触摸支持,浏览器兼容性列表或其他任何东西
  • raty 明显更好

无论如何,这些都没有提到浏览器兼容性或触摸支持。RateIt做到了,并且它还清楚地解释了为什么它比其他插件更好和不同:

RateIt与众不同之处

尽管它与其他jQuery星级评分插件执行相同的工作,但主要区别在于其简单性。 大多数插件为每个(部分)星创建一个元素,可以是带有星形背景的div,也可以是img标记。 这些标签中的每一个都会获得悬停事件和单击事件。在这些悬停/单击事件上,它必须去与其他星星交谈,告诉它们改变自己的状态。

因此,每个星级插件都会进行大量的DOM更改(添加星号数量作为元素),并添加大量事件(星号数量乘以2)。

RateIt基本上使用三个div。

哦,最后更新?昨天。


15
先生,您在这里做得很出色。 - Alexander
更改星形图像失败,我的意思是尺寸不够。文档不足 - 我曾经遇到需要动态加载HTML的情况,但没有任何关于手动初始化rateit /在脚本重新加载后的初始话的说明。 - Michal - wereda-net
看起来Raty更加干净,文档也更好。 - mahatmanich
@mahatmanich:看起来你需要更具体一些。"cleaner"是什么意思?RateItRaty少了100行代码。当Raty甚至没有列出任何功能时,它如何“文档更好呢?” - Dan Dascalescu
请查看我在raty上的评论回答! - mahatmanich

4

2
星级评分功能有点陈旧(例如没有触摸支持)。请参考RateIt:具备触摸支持、清晰的浏览器兼容性、经常更新,而且对于DOM来说比其他插件更加简单易用。 - Dan Dascalescu
此外,自2013年2月以来,星级评分尚未更新。RateIt上周已经更新。 - Dan Dascalescu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接