星级评分实现

效果图:

图片:

完整代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>星级评分</title>
        <style>
            *{
                padding:0;
                margin: 0;
            }
            .rating{
                width:140px;
                height: 26px;
                margin:100px auto;
            }
            .rating-item{
                float:left;
                width:28px;
                height: 26px;
                background:url(img/star.png) no-repeat ;
                cursor:pointer;
                list-style: none;
            }
        </style>
    </head>
    <body>
        <ul class="rating" id="rating">
            <li class="rating-item" title="很不好"></li>
            <li class="rating-item" title="不好"></li>
            <li class="rating-item" title="一般"></li>
            <li class="rating-item" title="好"></li>
            <li class="rating-item" title="很好"></li>
        </ul>
        <script src="js/jquery.min.js" ></script>
        <script>
            let num=0;
            let $rating=$(‘#rating‘);
            let $item=$rating.find(‘.rating-item‘);
            let lightOn=function(num){
                $item.each(function(index){
                    if(index<num){
                        $(this).css(‘background-position‘,‘0 -26px‘);
                    }
                    else{
                        $(this).css(‘background-position‘,‘0 0‘);
                    }
                })
            }
            //初始化
            lightOn(num);
            //事件绑定
            $rating.on(‘mouseover‘,‘.rating-item‘,function(){  //事件委托
                lightOn($(this).index()+1);
            }).on(‘click‘,‘.rating-item‘,function(){
                num=$(this).index()+1;
                let info=$(this).attr("title");
                console.log(`您选择了“${info}”`);
            }).on(‘mouseout‘,function(){
                lightOn(num);
            })

        </script>
    </body>
</html>

原文地址:https://www.cnblogs.com/liangtao999/p/11832435.html

时间: 2024-11-01 11:25:03

星级评分实现的相关文章

js实现星级评分之方法一

利用一个星级评分的小案例,来逐步封装js星级评分插件. 从最基础的js知识,通过一个小的demo,逐步学习js的面向对象知识. 从浅到深,逐步递进. 图片素材 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>星级评分--第一种实现方式</title> </head> <style type="text/css&quo

如何在iPhone 显示一个 星级评分

http://blog.csdn.net/fanjunxi1990/article/details/8663914 由于项目需求,需要做一个列表,里面有各个商品的评分,就是app store里面所有app的星级评分 下面是DisplayStarView.h [csharp] view plaincopy // //  DisplayStarView.h //  testExpress // //  Created by Juncy_Fan on 13-3-12. //  Copyright (c

数组练习:各种数组方法的使用&amp;&amp;事件练习:封装兼容性添加、删除事件的函数&amp;&amp;星级评分系统

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

干货之运用CALayer创建星级评分组件(五角星)

本篇记录星级评分组件的创建过程以及CALayer的运用. 为了实现一个星级评分的组件,使用了CALayer,涉及到mask.CGPathRef.UIBezierPath.动画和一个计算多角星关键节点的算法. CALayer管理基于图像的内容,并让我们可以在内容上添加动画.UIView及其子类拥有一个属性layer,我们可以运用该属性做出非常多的效果.例如圆角.多边形.甚至自定义形状的view,局部遮挡,擦除模糊效果,局部内容依次闪亮效果,弧形进度条等等. 首先查看CALayer的一个属性mask

Android进度条(星级评分)使用详解(二)

一.SeekBar拖动条使用 SeekBar继承于ProgressBar,ProgressBar所支持的XML属性和方法完全适用于SeekBar.拖动条和进度条的区别是:进度条采用颜色填充来表明进度完成的程度,而拖动条则通过滑块位置来标识数值并且运行用户拖动滑块来改变值.因此,拖动条通常用于对系统的某种数值进行调节,比如调节音量.图片的透明度等. 1.拖动条效果 2.代码实现 功能:通过拖动滑块该动态改变图片的透明度 public class MainActivity extends Actio

ExtJS(3)- 自定义组件(星级评分)

今天介绍ExtJS的组件开发,这里以星级评分为示例,首先来看看效果图: 然后是功能操作:鼠标移动到五个星星上面时,会有tooltip显示当前的分值.如图:鼠标悬停在第四颗星星时前四颗星星显示高亮笑脸,当点击下去时锁定笑脸并且设定份数为4. 然后我们来说一下实现原理,Ext的组件基本单元是Ext.Component,所以自定义组件可以继承Component,然后显示部分直接用html来显示,包括css和动态事件都可以直接在html上编辑添加. 接下来我们来看代码: Ext.define('Pact

UI组件之ProgressBar及其子类(二)SeekBar拖动条和RatingBar星级评分条的使用

拖动条采用拖动滑块的位置来表示数值 SeekBar的常用xml属性值: 重要的android:thumb制定一个Drawable对象,改变滑块外观 通过滑块来改变图片的透明度: main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" androi

jQuery Raty - 不错的星级评分插件

在做商品评价时,一般情况下,我们需要一个星级评分的组件,而jQuery Raty恰好满足我们的需求. 一.展示 二.使用教程 ①.下载插件 https://github.com/wbotelhos/raty ②.导入文件 <script type="text/javascript" src="${ctx}/components/raty/jquery.raty.js"></script> <link type="text/cs

星级评分进度条(RatingBar)

星级评分进度条(RatingBar):(主要用于评价等方面) 常用的xml属性; android:isIndicator:RatingBar是否是一个指示器(用户无法进行更改) android:numStars:显示的星星数量,必须是一个整型值,如“100”. android:rating:默认的评分,必须是浮点类型,像“1.2”. android:stepSize:评分的步长,必须是浮点类型,像“1.2”. 常用的方法: 监听方法:setOnRatingBarChangelistener 监听

javascript星级评分(多个)

JS打多个类型星级评分: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta charset="UTF-8"> <title>javascript星级评分&l