实现简单的五星效果

news/2024/7/19 14:03:22 标签: css, js, 前端

实现简单的五星效果

思路

1、实现五星推荐的方法有很多,这里只实现半星,主要使用font-awsome图标库,通过库内的fa-star(可填充的星星) fa-star-o(不可填充的空心星星),fa-star-half-o(半实心)。

	值得注意的是,如果直接使用cdn引用font-awsome,注意不同版本可能会有所区别,最新版本可能样式名称有所变化,最好直接使用官网上的版本
	![在这里插入图片描述](https://img-blog.csdnimg.cn/20190319164532679.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzYyNzc2Ng==,size_16,color_FFFFFF,t_70)

js_7">js部分

主要通过js循环得到5颗星星,并在循环中设定条件插入对应的星星

 var cur = (1+Math.random()*4).toFixed(1);
    console.log(cur);
    var stars = "";
    for(var i=0;i<5;i++){
        var star = '';
        if(cur>i) {
            if(cur<(i+1)){
                star = '<div class="rating-star" style="display:inline-block;font-size: 32px; color: #f1c40f;padding: 5px 10px;"><i class="fa fa-star-half-o" ></i></div>';
            }else {
                star = '<div class="rating-star" style="display:inline-block;font-size: 32px; color: #f1c40f;padding: 5px 10px;"><i class="fa fa-star" ></i></div>';
            }
        }else{
            star = '<div class="rating-star" style="display:inline-block;font-size: 32px; color: #f1c40f;padding: 5px 10px;"><i class="fa fa-star-o"  ></i></div>';
        }
        stars += star
    }
    $("body").append('<div class="rating-stars-container"><div class="rating-txt">爽值</div>'+stars+'</div></div>');

css_28">css部分

<style>
.rating-stars-container{
                   animation:star-blink 1s infinite;
                   -webkit-animation:star-blink 1s infinite; /*Safari and Chrome*/
               }
    @keyframes star-blink{
        0%{
            opacity: 0;
        }
        50%{
            opacity: 1.0;
        }

        100%{
            opacity: 0;
        }
    }
    @-webkit-keyframes star-blink{
        0%{
            opacity: 0;
        }
        50%{
            opacity: 1.0;
        }

        100%{
            opacity: 0;
        }
    }
    .rating-stars-container .rating-star {
        display: inline-block;
        font-size: 32px;
        color: #f1c40f;
        cursor: pointer;
        padding: 5px 10px;
    }
    .rating-txt{
        line-height:2rem;
    }
    .rating-star i{
        line-height:2rem;
    }
</style>

html部分

<!DOCTYPE html>
<html>
<head>
 <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0, maximum-scale=1.0">
 <title>星星</title>
 </head>
 <body>

http://www.niftyadmin.cn/n/1482605.html

相关文章

rabbitmq 在centos下的安装(实战)

1.准备工作rpm -ivh http://download.slogra.com/epel-release-5-4.noarch.rpm下面这几个我也弄了&#xff0c;但是我不知道是什么意思&#xff0c;有的还不成功1yum install -y docbook-style-xsl xmlto git \\2wxGTK wxGTK-devel expat expat-devel librabbitmq \\3make gcc4…

使用第三方图片地址

第三方图片服务器 通常我们开发的时候需要使用大量图片&#xff0c;为了提高图片加载速度&#xff0c;一般会放到第三方图片服务器&#xff0c;常用的是七牛云和阿里云oss,腾讯云oss,并采用cdn加速域名&#xff0c;但是通常都是收费的&#xff0c;大量图片也是一笔不小的成本 …

p2.BTC-数据结构

hash pointers&#xff1a;哈希指针&#xff0c;除了保存值的地址&#xff0c;还要存这整个区块的内容的hash值。这样就既能访问到值&#xff0c;还能确定访问的值有没有被篡改。 一 Blockchain Block chain is a linked list using hash pointers. 因为这个特点&#xff0c;这…

移动端网页自适应布局技巧

互联网上的自适应方案到底有几种呢&#xff1f;就我个人实践所知&#xff0c;有这么几种方案&#xff1a; 1固定一个某些宽度&#xff0c;使用一个模式&#xff0c;加上少许的媒体查询方案 2 使用flexbox解决方案 3 使用百分比加媒体查询 4 使用rem淘宝最近开源的一个框架和网…

一些命令和快捷键的全称

总有一些冷门难记的命令和快捷键&#xff0c;通过展开全称来帮助记忆 命令全称意义作用bgbackgrouond背景将一个在后台暂停的命令&#xff0c;变成继续执行fgforeground强调; 突出将后台中的命令调至前台继续运行chmodchange mode更改访问模式权限chownchange owner更改文件归属…

LNMP-2014.8.18.LNMP环境搭建(持续更新)

1.1 系统环境实验环境为系统CentOS 6.5 x86_64&#xff0c;虚拟机上有两个IP地址&#xff0c;其中一个连接Internet&#xff0c;方便使用yum方式通过网络安装所需软件包。主要软件如Nginx、MySQL、PHP都通过源码安装&#xff0c;相关信息如下&#xff1a;1) Nginx官网为http…

移动端设计稿

移动端高清、多屏适配方案 背景 开发移动端H5页面 面对不同分辨率的手机 面对不同屏幕尺寸的手机 视觉稿 在前端开发之前&#xff0c;视觉MM会给我们一个psd文件&#xff0c;称之为视觉稿。 对于移动端开发而言&#xff0c;为了做到页面高清的效果&#xff0c;视觉稿的规范往…

java 正则和连接json

前面已经写了不少关于C# 怎么使用正则&#xff0c;有兴趣&#xff0c;可以翻译成java代码。 以图片为例子&#xff1a; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexUtil {public static String regexImg(String html){if(StrKit.isBl…