简易-五星评分-jQuery纯手写

超级简单的评分功能,分为四个步骤轻松搞定:

第一步:

  引入jquery文件;这里我用百度CDN的jquery:

<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>

第二步:

  写HTML代码;这里的星星我用的是符号的星星,也可以做成图片,用2张背景图片进行切换:

1 <div class="score_star">
2     <i>★</i>
3     <i>★</i>
4     <i>★</i>
5     <i>★</i>
6     <i>★</i>
7     <p>您还未评价</p>
8 </div>

第三步:

  写CSS样式;这里我为了方便把样式写在head里面:

1 <style type="text/css">
2     .score_star {text-align: center;}
3     .score_star i {color: #999;font-size: 28px;font-style: normal;cursor: pointer;}
4     .score_star i.on {color: #c8a377;}
5 </style>

第四步:

  写JavaScript代码;好了,打瞌睡的童鞋抬起头,灯光照过来,往死里照,要画重点了:

  重点是slice(0,1)方法,就是选中重第0个到第1个,第一个数字是从0开始算起,第二个数字是从1开始算起的。

 1 <script type="text/javascript">
 2     $(function(){
 3         // 星星选择评价事件
 4         $(".score_star >i").click(function(event) {
 5             // 点击当前
 6             var _index = $(this).index();
 7             // 所有的星星
 8             var i = $(this).parent().find("i");
 9                 i.removeClass("on");
10             // 点击第i个,第一个到i个添加类名on
11             switch(_index){
12                 case 0:
13                     i.slice(0,1).addClass("on");
14                     $(this).siblings(‘p‘).html("我有一个退货想和你谈谈");
15                 break;
16                 case 1:
17                     i.slice(0,2).addClass("on");
18                     $(this).siblings(‘p‘).html("已被99%人超越");
19                 break;
20                 case 2:
21                     i.slice(0,3).addClass("on");
22                     $(this).siblings(‘p‘).html("只能说一般般");
23                 break;
24                 case 3:
25                     i.slice(0,4).addClass("on");
26                     $(this).siblings(‘p‘).html("骚年还不错");
27                 break;
28                 case 4:
29                     i.slice(0,5).addClass("on");
30                     $(this).siblings(‘p‘).html("一见钟情");
31                 break;
32                 default:
33                     alert("少年醒醒,你的代码出bug了");
34                 break;
35             }
36         });
37     });
38 </script>

最后,整个代码为:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>简易-星星评分-功能-jQuery纯手写</title>
 6     <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
 7 <style type="text/css">
 8     .score_star {text-align: center;}
 9     .score_star i {color: #999;font-size: 28px;font-style: normal;cursor: pointer;}
10     .score_star i.on {color: #c8a377;}
11 </style>
12 </head>
13 <body>
14     <div class="score_star">
15         <i>★</i>
16         <i>★</i>
17         <i>★</i>
18         <i>★</i>
19         <i>★</i>
20         <p>您还未评价</p>
21     </div>
22     <script type="text/javascript">
23         $(function(){
24             // 星星选择评价事件
25             $(".score_star >i").click(function(event) {
26                 // 点击当前
27                 var _index = $(this).index();
28                 // 所有的星星
29                 var i = $(this).parent().find("i");
30                     i.removeClass("on");
31                 // 点击第i个,第一个到i个添加类名on
32                 switch(_index){
33                     case 0:
34                         i.slice(0,1).addClass("on");
35                         $(this).siblings(‘p‘).html("我有一个退货想和你谈谈");
36                     break;
37                     case 1:
38                         i.slice(0,2).addClass("on");
39                         $(this).siblings(‘p‘).html("已被99%人超越");
40                     break;
41                     case 2:
42                         i.slice(0,3).addClass("on");
43                         $(this).siblings(‘p‘).html("只能说一般般");
44                     break;
45                     case 3:
46                         i.slice(0,4).addClass("on");
47                         $(this).siblings(‘p‘).html("骚年还不错");
48                     break;
49                     case 4:
50                         i.slice(0,5).addClass("on");
51                         $(this).siblings(‘p‘).html("一见钟情");
52                     break;
53                     default:
54                         alert("少年醒醒,你的代码出bug了");
55                     break;
56                 }
57             });
58         });
59     </script>
60 </body>
61 </html>

点击展示所有代码

怎么样,是不是很简单?

时间: 2024-11-03 08:10:12

简易-五星评分-jQuery纯手写的相关文章

vue10行代码实现上拉翻页加载更多数据,纯手写js实现下拉刷新上拉翻页不引用任何第三方插件

vue10行代码实现上拉翻页加载更多数据,纯手写js实现下拉刷新上拉翻页不引用任何第三方插件/库 一提到移动端的下拉刷新上拉翻页,你可能就会想到iScroll插件,没错iScroll是一个高性能,资源占用少,无依赖,多平台的javascript滚动插件.iScroll不仅仅是 滚动.它可以处理任何需要与用户进行移动交互的元素.在你的项目中包含仅仅4kb大小的iScroll,你的项目便拥有了滚动,缩放,平移,无限滚动,视差滚动,旋转功能.iScroll的强大毋庸置疑,本人也非常欢迎大家使用iScr

纯手写wcf代码,wcf入门,wcf基础教程

<pre name="code" class="cpp">/* 中颖EEPROM,使用比较方便,但有个注意点,就是每次无论你写入 什么数据或者在哪个地址写数据,都需要将对 对应的块擦除,擦 除后才能写入成功. */ #define SSPWriteFlag 0x5A #define SSPEraseFlag 0xA5 //数据区 扇形区1 #define ADDR_START1 (uint16)0x100 //数据存储区起始地址 #define ADDR

springmvc 动态代理 JDK实现与模拟JDK纯手写实现。

首先明白 动态代理和静态代理的区别: 静态代理:①持有被代理类的引用  ② 代理类一开始就被加载到内存中了(非常重要) 动态代理:JDK中的动态代理中的代理类是动态生成的.并且生成的动态代理类为$Proxy0 静态代理实例1.创建一个接口: package proxy; public interface People { public void zhaoduixiang()throws Throwable; } 2.创建一个实现类,张三,张三能够吃饭,张三可以找对象 package proxy;

SQL纯手写创建数据库到表内内容

建表啥的只点点鼠标,太外行了,不如来看看我的纯手写,让表从无到有一系列:还有存储过程临时表,不间断的重排序: 一:建数据库 1create Database Show 2 on 3 primary 4 ( 5 name= Show_data , 6 filename= 'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\Show.mdf' , 7 size=10MB, 8 maxsize=UNLIMITED,

qt之旅-1纯手写Qt界面

通过手写qt代码来认识qt程序的构成,以及特性.设计一个查找对话框.下面是设计过程 1 新建一个empty qt project 2 配置pro文件 HEADERS += Find.h QT += widgets SOURCES += Find.cpp main.cpp 3 编写对话框的类 代码如下: //Find.h #ifndef FIND_H #define FIND_H #include <QDialog> class QCheckBox; class QLabel; class QL

纯手写SpringBoot框架之注解方式启动SpringMVC容器

使用Java语言创建Tomcat容器,并且通过Tomcat执行Servlet,接下来,将会使用Java语言在SpringBoot创建内置Tomcat,使用注解方式启动SpringMVC容器. 代码实现.1.pom.xml文件,需要依赖的jar包. <dependencies> <!--Java语言操作Tomcat--> <dependency> <groupId>org.apache.tomcat.embed</groupId> <arti

纯手写SpringMVC架构,用注解实现springmvc过程(动脑学院Jack老师课后自己练习的体会)

1.第一步,首先搭建如下架构,其中,annotation中放置自己编写的注解,主要包括service controller qualifier RequestMapping 第二步:完成对应的annotation: package com.cn.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retent

纯手写分页控件CSS+JS+SQL

Asp.net中虽然用DataPager配合ListView可以实现分页显示,但是有时候由于开发环境等问题不能用到DataPager控件,那么自己手工写一个分页控件就很有必要了,当然,最重要的是通用性. 首先,来看一下我的分页控件的显示效果: 简单说明:红底色的为当前页,白底红字的是选择新的页,共有1236页,默认从第1页开始显示,分页行长度含“……”共11格,有全显示,单边省略和两边省略三种模式. 当你仔细看完上图的显示效果并理解其分页的相应变化后,我们就要开始制作这个分页了:) 第一步)获取

纯手写验证码MVC中

轻松实现验证码,以此为基础,什么高大上验证码万变不离其中,有注释的喔:-O: 生成验证码: public void Validate() { Random r = new Random(); string str = null; for (int i = 0; i < 5; i++) { int rNumber = r.Next(0, 10); str += rNumber; //随机取0到10之间的5个随机数存入字符串变量str } this.Session["Validate"