jQuery实现的五星点评功能【案例】


Posted in jQuery onFebruary 18, 2019

本文实例讲述了jQuery实现的五星点评功能。分享给大家供大家参考,具体如下:

效果图:

jQuery实现的五星点评功能【案例】

需求分析:

1.鼠标移入li标签,当前li标签和之前的li标签全部变为实心;
2.鼠标移开,所有的li标签变为空心;
3.鼠标点击li标签,当前li标签和之前的li标签全部变为实心

jq代码实现过程:

var shiXin="★";
 var kongXin='☆'
 $('li').on('mouseenter',function ( ) {
  //需求1:鼠标移入后,当前的li标签和前面的li标签显示实心,后面的li标签显示空心
  $(this).text(shiXin).prevAll().text(shiXin).end().nextAll().text(kongXin);
 }).on('mouseleave',function ( ) {
  $('li').text(kongXin);
  //找到索引的li,给这个li和它前面的li设置实心
  $('li[index="dianji"]').text(shiXin).prevAll().text(shiXin);
 }).on('click',function ( ) {
  //给点击的li添加索引,其余的去除索引
   $(this).attr('index','dianji').siblings().removeAttr('index')
 })

完整代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>3water.com jQuery五星点评</title>
 <style>
  *{
   margin: 0;
   padding: 0;
  }
  ul {
   list-style:none
  }
  li {
   float:left;
   cursor: pointer;
   color: red;
   font-size: 40px;
  }
 </style>
</head>
<body>
<ul>
 <li>☆</li>
 <li>☆</li>
 <li>☆</li>
 <li>☆</li>
 <li>☆</li>
</ul>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
 <script>
  $ ( function () {
   /*一:需求分析: 1.鼠标移入li标签,当前li标签和之前的li标签全部变为实心;
         2.鼠标移开,所有的li标签变为空心;
         3.鼠标点击li标签,当前li标签和之前的li标签全部变为实心
    二:思路分析
      1.获取元素
      2.注册事件
      3.事件处理
   */
  /*  var shiXin='★';
   var kongXin='☆';
    $ ( "li" ).on ( "mouseenter", function () {
    // 1.鼠标移入li标签,当前li标签和之前的li标签全部变为实心,后面的五角星变为空心(这一步必须要,不然往前移会有bug)
     $ ( this ).text ( shiXin ).prevAll ().text ( shiXin ).end().nextAll ().text(kongXin)
     //end()方法是返回上一个状态的返回值
    } ).on ( "mouseleave", function () {
    //2.鼠标移开,所有的li标签变为空心;
    $('li').text(kongXin);
    $ ( 'li[index="dianji"]' ).text(shiXin).prevAll().text(shiXin);
      //
    } ).on('click',function ( ) {
     //3.鼠标点击li标签,当前li标签和之前的li标签全部变为实心
    //给点击的li添加索引
     $(this).attr('index','dianji').siblings().removeAttr('index');
    })*/
  //第二遍:
   var shiXin="★";
   var kongXin='☆'
   $('li').on('mouseenter',function ( ) {
    //需求1:鼠标移入后,当前的li标签和前面的li标签显示实心,后面的li标签显示空心
    $(this).text(shiXin).prevAll().text(shiXin).end().nextAll().text(kongXin);
   }).on('mouseleave',function ( ) {
    $('li').text(kongXin);
    //找到索引的li,给这个li和它前面的li设置实心
    $('li[index="dianji"]').text(shiXin).prevAll().text(shiXin);
   }).on('click',function ( ) {
    //给点击的li添加索引,其余的去除索引
     $(this).attr('index','dianji').siblings().removeAttr('index')
   })
  } )
 </script>
</body>
</html>

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
深入理解jquery的$.extend()、$.fn和$.fn.extend()
Jul 08 jQuery
jquery获取链接地址和跳转详解(推荐)
Aug 15 jQuery
jQuery实现DIV响应鼠标滑过由下向上展开效果示例【测试可用】
Apr 26 jQuery
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
May 31 jQuery
jquery.pagination.js分页使用教程
Oct 23 jQuery
jQuery Ajax实现Select多级关联动态绑定数据的实例代码
Oct 26 jQuery
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
Dec 11 jQuery
Jquery获取radio选中值实例总结
Jan 17 jQuery
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
Apr 28 jQuery
jquery多级树形下拉菜单的实例代码
Jul 09 jQuery
Jquery属性的获取/设置及样式添加/删除操作技巧分析
Dec 23 jQuery
jQuery实现简单轮播图效果
Dec 27 jQuery
jQuery实现的隔行变色功能【案例】
Feb 18 #jQuery
jQuery实现ajax的嵌套请求案例分析
Feb 16 #jQuery
jQuery实现简单的Ajax调用功能示例
Feb 15 #jQuery
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
Feb 15 #jQuery
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
Feb 14 #jQuery
Jquery实现无缝向上循环滚动列表的特效
Feb 13 #jQuery
jquery无缝图片轮播组件封装
Nov 25 #jQuery
You might like
PHP 网络开发详解之远程文件包含漏洞
2010/04/25 PHP
php 定界符格式引起的错误
2011/05/24 PHP
PHP 使用memcached简单示例分享
2015/03/05 PHP
PHP中对数组的一些常用的增、删、插操作函数总结
2015/11/27 PHP
JS之Date对象和获取系统当前时间详解
2014/01/13 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
jQuery中get和post方法传值测试及注意事项
2014/08/08 Javascript
Jquery动态替换div内容及动态展示的方法
2015/01/23 Javascript
javascript函数式编程实例分析
2015/04/25 Javascript
Angularjs整合微信UI(weui)
2016/03/15 Javascript
浅谈jQuery中ajaxPrefilter的应用
2016/08/01 Javascript
react.js 翻页插件实例代码
2017/01/19 Javascript
windows 下安装nodejs 环境变量设置
2017/02/02 NodeJs
vue 1.x 交互实现仿百度下拉列表示例
2017/10/21 Javascript
layui table 参数设置方法
2018/08/14 Javascript
[46:02]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第二局
2016/02/28 DOTA
[01:12:44]VG vs Mineski Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
[47:42]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
2019/05/15 Python
Python+opencv 实现图片文字的分割的方法示例
2019/07/04 Python
python3获取当前目录的实现方法
2019/07/29 Python
python函数声明和调用定义及原理详解
2019/12/02 Python
python遍历路径破解表单的示例
2020/11/21 Python
Css3圆角边框制作代码
2015/11/18 HTML / CSS
HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧
2018/08/28 HTML / CSS
eDreams葡萄牙:全球最大的在线旅行社之一
2019/04/15 全球购物
巴西最大的珠宝连锁店:Vivara
2019/04/18 全球购物
商务英语本科生的自我评价分享
2013/11/15 职场文书
初三化学教学反思
2014/01/23 职场文书
公司应聘求职信
2014/06/21 职场文书
基层党员群众路线整改措施及努力方向
2014/10/28 职场文书
2014年协会工作总结
2014/11/22 职场文书
工地材料员岗位职责
2015/04/11 职场文书
学生早退检讨书(范文)
2019/08/19 职场文书
使用Nginx搭载rtmp直播服务器的方法
2021/10/16 Servers
MySQL慢查询优化解决问题
2022/03/17 MySQL