zoukankan      html  css  js  c++  java
  • jQuery----五星好评实现

    在美团、淘宝、京东等网页上,有许多商品、服务评价页面,五星好评功能很常见,本文利用jQuery实现五星好评功能。

    案例图片:

                                           

    案例需求:

    如左图所示,鼠标进入某个五角星,该五角星包括之前的五角星全部变成黄色。

    鼠标离开后,变成黄色的恢复原状

    当鼠标在某个五角星上点击的时候,该五角星和其之前的五角星全部变成黄色,鼠标离开后,颜色也不会恢复过来。

    实现思路:

    ①获取所有的li(五角星全部存在于li标签中),给$(this)注册mouseover、mouseout、click事件

    ②mouseover事件中,将当前和前面的五角星变成黄色

         $(this).text("★").prevAll("li").text("★");

    ③click事件中,给当前点击的li五角星赋予index属性,方便在鼠标滑出的时候,能够保存点击时候五角星及之前五角星的状态,同时清除其他所有的li的index属性

         $(this).attr("index",1).siblings("li").removeAttr();

    ④mouseout事件中,所有的li变为空白,但是属性index有值的li及其前面的li变为黄色

         $(this).text("☆").siblings().text("☆");

      $( " li [indx=1] ").text("★").prevAll().text("★");

    代码如下:

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="utf-8">
     5         <title></title>
     6         <style type="text/css">
     7             ul {
     8                 list-style: none;
     9             }
    10 
    11             li {
    12                 float: left;
    13                 font-size: 39px;
    14                 color: yellow;
    15             }
    16         </style>
    17 
    18         <script src="jquery-1.12.2.js"></script>
    19         <script type="text/javascript">
    20             $(function(){
    21                 //获取所有的li,注册鼠标移入事件
    22                 $("li").mouseover(function(){
    23                     $(this).text("★").prevAll().text("★");
    24                 }).mouseout(function(){
    25                     $(this).text("☆").siblings().text("☆");
    26                     $("li[index=1]").text("★").prevAll().text("★");
    27                 }).click(function(){
    28                     $(this).attr("index",1).siblings().removeAttr();
    29                 });
    30             });
    31         </script>
    32     </head>
    33     <body>
    34         <ul>
    35             <li>☆</li>
    36             <li>☆</li>
    37             <li>☆</li>
    38             <li>☆</li>
    39             <li>☆</li>
    40         </ul>
    41     </body>
    42 </html>
  • 相关阅读:
    js的BOM对象完全解析
    转:JavaScript中的this陷阱的最全收集
    转载:冷门js技巧
    MVVM的架构设计与团队协作 with StoryBoard
    ReactiveCocoa & FRP & MVVM
    ReactiveCocoa的冷信号与热信号 探讨
    Git本地项目上传 & SourceTree & GitHub 简单使用
    Monad / Functor / Applicative 浅析
    map & flatMap 浅析
    Swift -> Let & Var 背后编程模式 探讨
  • 原文地址:https://www.cnblogs.com/WangYujie1994/p/10300698.html
Copyright © 2011-2022 走看看