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

第一步:

  引入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. Numpy实现简单BP神经网络识别手写数字

    本文将用Numpy实现简单BP神经网络完成对手写数字图片的识别,数据集为42000张带标签的28x28像素手写数字图像.在计算机完成对手写数字图片的识别过程中,代表图片的28x28=764个像素的特征 ...

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

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

  8. 简单HOG+SVM mnist手写数字分类

    使用工具 :VS2013 + OpenCV 3.1 数据集:minst 训练数据:60000张 测试数据:10000张 输出模型:HOG_SVM_DATA.xml 数据准备 train-images- ...

  9. 五星评分效果 原生js

    五星评分在很多地方都可以用到,网上也有插件或者相应的代码,在这里我给大家提供一款我自己写的超级简单实用的五星评分代码,连图片都不需要 <!-- 评分start --> <ul> ...

随机推荐

  1. linux负载均衡与性能监控

    平均负载是单位时间内, 系统处于可运行状态和不可中断状态的平均进程数( 平均活跃进程数 ) 可运行状体好理解, 就是进程正在运行状态Running和可运行状态Runnable... 这里需要注意的是 ...

  2. redis锁

    1.引入依赖: <!--使用redis客户端需要用到的包 --> <dependency> <groupId>redis.clients</groupId&g ...

  3. office 2013 破解工具 及 软件下载

     win7/win8/win10  office2013 破解工具 下载地址: https://pan.baidu.com/s/1sZeJOCWq1fZ3KIOWvmrAQQ office2013  ...

  4. windows xp 环境下 Oracle8i 双击安装文件无反应的解决办法

    今天调试一份比较老的程序,数据库用的是Oracle8i,在本地xp系统上搞了半天,双击安装文件就是没反应! 在网上整理了一下解决办法: 1.将ORACLE软件拷贝到硬盘. (比如我拷贝到:F:\Ora ...

  5. 【KMP】【字符串】KMP字符串匹配算法 学习笔记

    一.简介     KMP是由Knuth.Morris和Prat发明的字符串匹配算法,它的时间复杂度是均摊\(O(n+m)\).其实用Hash也可以做到线性,只不过Hash存在极其微小的难以避免的冲突. ...

  6. 小问题总结:鼠标点击到输入框(input)里的时候,输入框的提示消失,鼠标再移开,输入框提示出现

    问题如标题: 鼠标点击到输入框(input)里的时候,输入框的提示消失,鼠标再移开,输入框提示出现.如图所示:   做法如下: <input type="text" name ...

  7. python - 约瑟夫问题

    在罗马人占领乔塔帕特后,39 个犹太人与约瑟夫及他的朋友躲到一个洞中.39个犹太人决定宁愿死也不要被敌人俘虏,商定一种特殊的方式自杀,41个人排成一个圆圈,由第1个人开始报数,每报到第3人该人就必须自 ...

  8. Oracle RAC集群搭建(zero)--全是报错

    1. 提示Check if the DISPLAYvariable is set.    Failed<<<< 解决方案: #xhost +  //切换到root用户输入 #s ...

  9. CentOS初试

    由于实在是对ubuntu不太感冒,加上买的鸟哥又是拿CentOS做的例子,所以我就把ubuntu换成了CentOS6.5.依旧win7,CentOS 双系统,具体过程参照http://www.cnbl ...

  10. 委托delegate 泛型委托action<> 返回值泛型委托Func<> 匿名方法 lambda表达式 的理解

    1.使用简单委托 namespace 简单委托 { class Program { //委托方法签名 delegate void MyBookDel(int a); //定义委托 static MyB ...