就是cnbeta常见的评价星,更简单灵活:
demo
截图:
目标:
1.可访问性
,即使读屏器,css失效,javascript禁用也可正常提交结果。(使用a hover跨浏览器得实现动态改变表现,以及绝对定位的z-index特性使得可以随时鼠标滑动改变星级。)
2.灵活的换肤
,可以任意设置评价星的颜色。(反模式使用透明星星图片(摘自wordpress),使用YUI3 StyleSheet来修改内嵌星星父元素a的hover背景颜色css,效率高更灵活)
关键代码:
YUI().use("node", "stylesheet", function (Y) {
//换肤控制
var skin = Y.one("#skin");
var skinCss = Y.StyleSheet("#skinCss");
var opts = "";
Y.each(Y.Color.KEYWORDS, function (v, k) {
opts += "<" + "option value='#" + v + "'" + ">" + k + "</option>";
});
skin.append(opts);
skin.on("change", function (e) {
var v = this.get("value");
//直接操纵external css
skinCss.set("ul.rate.operable li a:hover", {
"backgroundColor": Y.Color.toHex(v)
});
});
skin.set("value", "#f00");
var rate = Y.one("#rateContainer");
var rateAs = rate.all("a");
//js可用,则去除href,注意ie去除后不可hover了
if (Y.UA.ie) rateAs.on("click", function (e) {
e.preventDefault();
});
else rateAs.removeAttribute("href");
//js可用,则点击后去除绑定事件以及不再可鼠标掠过改变
var rateHandler = rate.delegate("click", function (e) {
this.setStyles({
"backgroundColor": skin.get("value")
});
rate.removeClass("operable");
e.halt();
rateHandler.detach();
alert("选择了" + this.get("title"));
},
"a");
});
实现原理:
1. 5个宽度不等的 a 由绝对定位层叠在一起,每个里面都包括透明的星图案 img,且从 a1 到 a5 z-index 从高到低排列,使得在重叠的部分由宽度小的a(星数少)在最上面接收响应:
2.当相应的a接到响应时:鼠标掠过(hover),则该 a z-index 设为最大,覆盖其他 a,并且设置其背景为红色,着色其包含的对应星图片。
.operable a:hover{
z-index:9999;
background:red;
}
3.在容器监听 click 事件,当发生click事件时,根据click的发生源 a 判断点击的星数,并且清除父容器的 click 事件以及operable css 类,使得鼠标掠过 hover 的反应不对该容器内的 a 起作用
- 大小: 1.7 KB
- 大小: 1.7 KB
- 大小: 9.5 KB
分享到:
相关推荐
在IT行业中,星级评定系统是常见的用户评价或评分机制,尤其在电商、餐饮、电影等领域广泛应用。本示例中,我们将探讨如何使用Swift语言自定义一个简单的星级评定系统,无需依赖第三方库,只需要大约60行代码即可...
本文将深入探讨如何使用jQuery实现一个自定义的星级评价插件。 **1. 插件的基本结构** 一个基本的jQuery插件通常会包含一个函数,该函数接收参数并扩展jQuery对象。例如,我们可以创建一个名为`starRating`的插件...
"星级评价js-css-png图片.zip" 这个文件标题表明这是一个包含JavaScript、CSS和PNG图片资源的压缩包,主要用于实现星级评价功能。其中,“js”代表JavaScript脚本,"css"代表样式表文件,而“png图片”则指的是用于...
本压缩包提供的资源是一个强大的JavaScript实现,支持半星、整星以及步长评分功能。下面将详细阐述这个评分系统的实现原理和应用场景。 1. **半星评分**: 半星评分允许用户给予更精确的评价,不仅可以选择完整的...
本教程主要关注如何使用CSS来实现一个星级评价系统。 首先,理解星级评价系统的构成。通常,它由一系列星形图标组成,用户可以通过选择星星数量来表达对某个产品或服务的满意度。这些星星可以是静态的图像,也可以...
实现星级评分功能是常见的用户界面交互,常用于产品评价、用户反馈等场景。 首先,我们需要理解Vue的核心概念,包括组件化、数据绑定和指令。Vue中的组件是可复用的代码块,可以封装HTML、CSS和JavaScript,使得...
小数星”的实现涵盖了Android自定义组件设计的核心技术,包括事件监听、自定义绘图、动态布局调整以及组件化封装。它充分展示了Android开发中的灵活性和可扩展性,使得开发者可以根据需求定制出更符合用户体验的界面...
【多级评分】是指用户可以对某一项目进行细粒度的评价,比如1到5星,甚至可以有半星的选择。实现这一功能,开发者需要考虑如何用JavaScript来处理不同级别的评分,以及如何用CSS来显示这些不同的级别。 【通用性】...
总的来说,"EvaluationStar"项目提供了一个完整且灵活的解决方案,帮助开发者快速集成并自定义五角星评价功能。通过对手势交互的理解和运用,我们可以创建出更直观、更具吸引力的用户界面,从而提高用户的满意度和...
这种方法优点是实现简单,但灵活性较低,无法实时更新评分。 第二种实现方式是使用JavaScript(如jQuery)动态交互。这种方式更适用于动态更新和用户交互丰富的场景。我们可以创建一组`<div>`元素,用CSS预定义星星...
在本文中,我们将深入探讨如何在WPF(Windows Presentation Foundation)环境中实现一个仿淘宝评级控件,该控件能够展示用户评价的星级。这个控件是通过绘制五角星来模拟淘宝购物平台上的商品评分系统,它允许用户...
本教程将深入探讨如何使用jQuery实现一个灵活且具有半分评分功能的五角星评分系统。 ### 1. jQuery基础 首先,我们需要了解jQuery库。jQuery是一个轻量级、高性能的JavaScript库,它简化了HTML文档遍历、事件处理...
本实例将探讨如何使用Vue.js框架来实现一个可配置的评价五角星组件。组件不仅能展示出不同的评分(例如满分五颗星、半颗星、空星等),而且还能支持不同的大小展示。 ### Vue.js 介绍 Vue.js 是一个轻量级的、渐进...
6. **可配置性**:为了提高插件的灵活性,可以设置各种选项,如默认评级、步进值(每次可选的星数)、是否允许半星等。 7. **回显和预览**:在用户点击前显示他们当前的评级选择,这可以通过改变鼠标悬停时的星星...
综上所述,"评星选择打分"作为用户评价的一种有效手段,其设计和实现涉及到用户界面设计、事件处理、灵敏度控制等多个方面,广泛应用于各个领域,为用户提供了一种便捷、直观的反馈方式。随着技术的发展,这种评分...
此外,它还支持半星评分,提供了一种直观的视觉反馈,使用户能够更精确地表达他们的评价。 【标签】"简单jQuery星级评分功能插件"的标签反映了其核心特性: 1. jQuery:这是一个广泛使用的JavaScript库,提供了丰富...
在网页设计中,星级评分系统是一种常见的用户反馈和评价机制,尤其在电商、评论和评分类网站中广泛应用。本资源“多个CSS3实现的动画效果不错的星级评分效果.zip”提供了利用CSS3技术来创建动态、交互式的星级评分...
这个插件允许用户以直观的星级来表达他们的评价,通常与后端数据库配合,将用户的评分数据存储起来。 标题中的“jequry”可能是指“jQuery”的误拼,而“raty”就是我们要讨论的重点,它是一个用于创建星级评分的...
FMLStarView是一个专为iOS应用设计的UI控件,它简化了星级评价功能的实现。开发者可以利用这个控件轻松地在应用中集成打分系统,让用户对产品或服务进行一到五星的评价。这种控件通常包括可点击的星星,当用户点击时...
3. **半星支持**:jQuery Raty允许用户选择半星评分,增加了评分的精细度,提高了用户体验。 4. **多语言支持**:插件内置了多种语言包,可以根据网站的语言环境轻松切换,提供本地化的评分体验。 5. **自定义样式...