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

第一步:

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

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

第二步:

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

 <div class="score_star">
<i>★</i>
<i>★</i>
<i>★</i>
<i>★</i>
<i>★</i>
<p>您还未评价</p>
</div>

第三步:

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

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

第四步:

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

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

 <script type="text/javascript">
$(function(){
// 星星选择评价事件
$(".score_star >i").click(function(event) {
// 点击当前
var _index = $(this).index();
// 所有的星星
var i = $(this).parent().find("i");
i.removeClass("on");
// 点击第i个,第一个到i个添加类名on
switch(_index){
case 0:
i.slice(0,1).addClass("on");
$(this).siblings('p').html("我有一个退货想和你谈谈");
break;
case 1:
i.slice(0,2).addClass("on");
$(this).siblings('p').html("已被99%人超越");
break;
case 2:
i.slice(0,3).addClass("on");
$(this).siblings('p').html("只能说一般般");
break;
case 3:
i.slice(0,4).addClass("on");
$(this).siblings('p').html("骚年还不错");
break;
case 4:
i.slice(0,5).addClass("on");
$(this).siblings('p').html("一见钟情");
break;
default:
alert("少年醒醒,你的代码出bug了");
break;
}
});
});
</script>

最后,整个代码为:

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>简易-星星评分-功能-jQuery纯手写</title>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<style type="text/css">
.score_star {text-align: center;}
.score_star i {color: #999;font-size: 28px;font-style: normal;cursor: pointer;}
.score_star i.on {color: #c8a377;}
</style>
</head>
<body>
<div class="score_star">
<i>★</i>
<i>★</i>
<i>★</i>
<i>★</i>
<i>★</i>
<p>您还未评价</p>
</div>
<script type="text/javascript">
$(function(){
// 星星选择评价事件
$(".score_star >i").click(function(event) {
// 点击当前
var _index = $(this).index();
// 所有的星星
var i = $(this).parent().find("i");
i.removeClass("on");
// 点击第i个,第一个到i个添加类名on
switch(_index){
case 0:
i.slice(0,1).addClass("on");
$(this).siblings('p').html("我有一个退货想和你谈谈");
break;
case 1:
i.slice(0,2).addClass("on");
$(this).siblings('p').html("已被99%人超越");
break;
case 2:
i.slice(0,3).addClass("on");
$(this).siblings('p').html("只能说一般般");
break;
case 3:
i.slice(0,4).addClass("on");
$(this).siblings('p').html("骚年还不错");
break;
case 4:
i.slice(0,5).addClass("on");
$(this).siblings('p').html("一见钟情");
break;
default:
alert("少年醒醒,你的代码出bug了");
break;
}
});
});
</script>
</body>
</html>

点击展示所有代码

怎么样,是不是很简单?

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

  1. 超级简单的jQuery纯手写五星评分效果

    超级简单的评分功能,分为四个步骤轻松搞定: 第一步: 引入jquery文件:这里我用百度CDN的jquery: <script src="http://apps.bdimg.com/l ...

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

    vue10行代码实现上拉翻页加载更多数据,纯手写js实现下拉刷新上拉翻页不引用任何第三方插件/库 一提到移动端的下拉刷新上拉翻页,你可能就会想到iScroll插件,没错iScroll是一个高性能,资源 ...

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

    首先明白 动态代理和静态代理的区别: 静态代理:①持有被代理类的引用  ② 代理类一开始就被加载到内存中了(非常重要) 动态代理:JDK中的动态代理中的代理类是动态生成的.并且生成的动态代理类为$Pr ...

  4. 纯手写Myatis框架

    1.接口层-和数据库交互的方式 MyBatis和数据库的交互有两种方式: 使用传统的MyBatis提供的API: 使用Mapper接口: 2.使用Mapper接口 MyBatis 将配置文件中的每一个 ...

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

    建表啥的只点点鼠标,太外行了,不如来看看我的纯手写,让表从无到有一系列:还有存储过程临时表,不间断的重排序: 一:建数据库 create Database Show on primary ( name ...

  6. 纯手写SpringMVC到SpringBoot框架项目实战

    引言 Spring Boot其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置. 通过这种方式,springboot ...

  7. [jQuery插件]手写一个图片懒加载实现

    教你做图片懒加载插件 那一年 那一年,我还年轻 刚接手一个ASP.NET MVC 的 web 项目, (C#/jQuery/Bootstrap) 并没有做 web 的经验,没有预留学习时间, (作为项 ...

  8. 纯手写实现ajax分页功能

    前言 最近用到了这个功能,百度大半天,网上的不是有各种问题就是需要引入其他的插件,无奈,只能自己写,大致功能已经完成.前端页面用bootstrap做样式,分页功能用ajax实现,没用其他插件哦,只引入 ...

  9. 纯手写SpringMVC架构,用注解实现springmvc过程

    1.第一步,首先搭建如下架构,其中,annotation中放置自己编写的注解,主要包括service controller qualifier RequestMapping 第二步:完成对应的anno ...

随机推荐

  1. Weex的环境搭建以及集成到Android项目

    最近由于公司的需要,初步研究了Weex,Weex是阿里开发的一个web的框架,官方的介绍如下: Weex 是一套简单易用的跨平台开发方案,能以 web 的开发体验构建高性能.可扩展的 native 应 ...

  2. 笔记:查看linux系统开机时间

    [root@localhost ~]# uptime -s -- :: 通过命令uptime -s 查看系统开机时间

  3. EF 关联数据查询

    1 直接使用表对应的实例属性值 ,如本例中的RoleUserInfo的属性UserInfo IEnumerable <RoleUserInfo > roleUserInfos= db.Ro ...

  4. 【Spark2.0源码学习】-2.一切从脚本说起

    从脚本说起      在看源码之前,我们一般会看相关脚本了解其初始化信息以及Bootstrap类,Spark也不例外,而Spark我们启动三端使用的脚本如下: %SPARK_HOME%/sbin/st ...

  5. java写文件读写操作(IO流,字节流)

    package copyfile; import java.io.*; public class copy { public static void main(String[] args) throw ...

  6. 这可能是php世界中最好的日志库——monolog

    由于一些历史原因,php中并没有内建的日志接口,故长期以来也没一个功能完备并且应用广泛的日志库.在我的工作生涯中,如果系统需要记录一些应用日志的话,基本上就是封装一个日志类,然后把一些要记录的字段写入 ...

  7. JS作用域就这么几句话

    JavaScript的作用域一直以来是前端开发中比较难以理解的知识点,对于JavaScript的作用域主要记住几句话,走遍天下都不怕... 一.“JavaScript中无块级作用域” 在Java或C# ...

  8. Xamarin自定义布局系列——支持无限滚动的自动轮播视图CarouselView

    背景简述 自动轮播视图(CarouselView)在现在App中的地位不言而喻,绝大多数的App中都有类似的视图,无论是WebApp还是Native App.在安卓.iOS以及Windows(UWP) ...

  9. linux 安装memcached C/C++使用libmemcached库(续)

    #include <iostream> #include <string> #include <libmemcached/memcached.h> using na ...

  10. 【Atom】在一个中/大型项目中,那些好用而强大的atom功能

      作为一个学生党,一开始使用atom时候并没有意识到atom一些小功能的巨大作用,直到自己实习参与了项目,才知道这些功能在一个项目中是能极大提高工作效率的开发利器   下面是一位不愿意透露其姓名的彭 ...