JavaScript

超轻量级php框架startmvc

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

更新时间:2020-08-15 06:48 作者:startmvc
本文实例讲述了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>www.jb51.net 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>