星级评分的两种实现方式静态HTML+CSS与jQuery动态交互
星级评分的实现方式其实挺多的,今天就给你推荐两种比较实用的做法。一个简单直接,一个功能更强,适合不同的场景。
静态 HTML+CSS的方式最适合追求项目。你用<input type="radio">
搞一组单选按钮,每个按钮代表一颗星。用 CSS 把这些按钮“包装”成漂亮的星星样式,比如加上背景图、用opacity
做半透明,切换状态靠:checked
就行了。优点嘛,实现快,样式好调;缺点是不能动态响应用户的动作,比如鼠标悬停或实时评分显示。
另一个方式就是用jQuery 动态交互。这个就比较灵活了,能监听mouseover
、click
事件,根据鼠标位置判断点了几颗星,还能精确控制半星。这种方法用到div
或span
标签,再配合 CSS 设置星星状态。比如鼠标移上去星星变亮,点一下就记录当前分数,甚至还能用Ajax
把评分发给服务器。
做得细点的话,别忘了兼顾响应式设计,确保手机端也能点得准。还有无障碍也要顾及,aria-label
和title
最好都加上。用户体验这块,可以加个提示语,比如“点一下评分”,再配个动画反馈。这样一来,不管是静态方案还是动态插件,都能做得又快又顺手。
如果你想偷个懒,也可以直接用一些现成的 jQuery 评分插件,比如这个jquery 星级评分.zip。不想折腾样式的话,拿来改改就能用,效率挺高。
如果你追求交互效果或者想支持半星评分,可以看这个js+html 星级评分(支持半星)。源码也挺清晰,方便改。
,静态的实现适合页面不怎么变的展示型项目,jQuery 这种动态方式就比较适合电商、评论系统、后台管理之类的交互场景。如果你正好要做评分模块,不妨先确定好场景,再选实现方式。
64.97KB
文件大小:
评论区