星级评分的两种实现方式静态HTML+CSS与jQuery动态交互

星级评分的实现方式其实挺多的,今天就给你推荐两种比较实用的做法。一个简单直接,一个功能更强,适合不同的场景。

静态 HTML+CSS的方式最适合追求项目。你用<input type="radio">搞一组单选按钮,每个按钮代表一颗星。用 CSS 把这些按钮“包装”成漂亮的星星样式,比如加上背景图、用opacity做半透明,切换状态靠:checked就行了。优点嘛,实现快,样式好调;缺点是不能动态响应用户的动作,比如鼠标悬停或实时评分显示。

另一个方式就是用jQuery 动态交互。这个就比较灵活了,能监听mouseoverclick事件,根据鼠标位置判断点了几颗星,还能精确控制半星。这种方法用到divspan标签,再配合 CSS 设置星星状态。比如鼠标移上去星星变亮,点一下就记录当前分数,甚至还能用Ajax把评分发给服务器。

做得细点的话,别忘了兼顾响应式设计,确保手机端也能点得准。还有无障碍也要顾及,aria-labeltitle最好都加上。用户体验这块,可以加个提示语,比如“点一下评分”,再配个动画反馈。这样一来,不管是静态方案还是动态插件,都能做得又快又顺手。

如果你想偷个懒,也可以直接用一些现成的 jQuery 评分插件,比如这个jquery 星级评分.zip。不想折腾样式的话,拿来改改就能用,效率挺高。

如果你追求交互效果或者想支持半星评分,可以看这个js+html 星级评分(支持半星)。源码也挺清晰,方便改。

,静态的实现适合页面不怎么变的展示型项目,jQuery 这种动态方式就比较适合电商、评论系统、后台管理之类的交互场景。如果你正好要做评分模块,不妨先确定好场景,再选实现方式。

zip 文件大小:64.97KB