首页 > 其他分享 >02js制作百分比进度条

02js制作百分比进度条

时间:2022-09-25 12:44:34浏览次数:57  
标签:百分比 ba 进度条 fillContent 条子 02js let lis width

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            list-style: none;
        }

        li {
            border: 1px dashed #ccc;
            height: 30px;
            font-size: 15px;
            line-height: 30px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .box {
            width: 450px;
            padding: 10px;
            margin: 30px auto;
            border: 1px dashed red;
        }

        .progress {
            position: relative;
            display: block;
            /*  条子长度 */
            width: 160px;
            height: 12px;
            border: 1px solid #ccc;
            background: #EDEDED;
        }

        li>div {
            /* border: 1px solid #000; */
            width: 250px;
            height: 30px;
            display: flex;
            align-items: center;
            justify-content: flex-start;
            font-size: 12px;
        }

        .fillContent {
            position: absolute;
            top: 0px;
            left: 0px;
            width: 0px;
            height: 12px;
            /* background-color: greenyellow; */
        }
    </style>
</head>

<body>
    <div class="box">
        <h4>你被“最美乡村女校长”感动了吗(必选)</h4>
        <ul>
            <li>很感动,她很美<div>
                    <div class="progress">
                        <div class="fillContent "></div>
                    </div>
                    <i>11</i>
                </div>
            </li>
            <li>很感动,她很美<div>
                    <div class="progress">
                        <div class="fillContent "></div>
                    </div><i>11</i>
                </div>
            </li>
            <li>没感觉,这样的事很多<div>
                    <div class="progress">
                        <div class="fillContent "></div>
                    </div><i>11</i>
                </div>
            </li>
            <li>不感动,可能是炒作<div>
                    <div class="progress">
                        <div class="fillContent "></div>
                    </div><i>11</i>
                </div>
            </li>
        </ul>
    </div>
    <script>
        console.log(' 条子最长160,如需百分之百更改长度和数据,因数据没有压缩化');
        let lis = [50, 80, 100, 160]; //给定静态数据读取    条子最长160,如需百分之百更改长度和数据,因数据没有压缩化
        let progress = document.querySelectorAll(".progress");
        let itag = document.querySelectorAll("i");
        let fillContent = document.querySelectorAll(".fillContent");
        let w = progress[1].clientWidth;
        //设置后面百分比数值
        for (let i = 0; i < progress.length; i++) {
            //计算百分比显示在文本中
            //(Math.round(num / total * 10000) / 100.00);
            itag[i].innerHTML = (Math.round(lis[i] / w * 10000) / 100.00) + '%' + ' ' + lis[i];//只显示两位小数
        }
        //设置条子变长
        for (let i = 0; i < lis.length; i++) {
            //Math.round(lis[i] / w * 100) * (lis[i] / w)
            fillContent[i].style.width = lis[i] + "px";//条子增加
            //计算条子百分比
            let ba = Math.round(lis[i] / w * 10000) / 100.00;
            //判断条子颜色
            if (ba >= 0 && ba <= 50) {
                fillContent[i].style.backgroundColor = 'red';
            }
            if (ba > 50 && ba <= 70) {
                fillContent[i].style.backgroundColor = 'pink';
            }
            if (ba > 70 && ba <= 90) {
                fillContent[i].style.backgroundColor = 'green';
            }
            if (ba > 90) {
                fillContent[i].style.backgroundColor = 'greenyellow';
            }
            //判断条子不能超出指定宽度
            if (ba >= w) {
                fillContent[i].style.width = w + "px";
            }
        }
    </script>
</body>

</html>

标签:百分比,ba,进度条,fillContent,条子,02js,let,lis,width
From: https://www.cnblogs.com/daixiaoyang/p/16727650.html

相关文章

  • shell显示进度条
    【1】参数($0、$?、$*、$@、$#、$$、$!)$0:就是该bash文件名,个位数的,可直接使用数字,但两位数以上,则必须使用{}符号来括住,如${10}.$?:是上一指令的返回值,成功是0,不成功是1......
  • react-native 实现环形(圆形)进度条
    废话不多说,直接上硬货:效果图   安装 react-native-anchor-point用于处理旋转中心点位置yarnaddreact-native-anchor-pointgithub仓库地址: https://github......
  • vue3 组件-动画进度条
    https://kuangyx.cn/docs/文章/vue3组件/进度条.html......
  • echarts爬坑记—怎么让饼图位置右移同时让legend显示百分比操作
    原文链接:echarts爬坑记—怎么让饼图位置右移同时让legend显示百分比操作–每天进步一点点(longkui.site)0.背景echarts的属性太多了,很多效果能实现但是不知道改哪些,只......
  • 纯css做进度条
    ......
  • 如何上传带有进度条的文件?
    如何上传带有进度条的文件?我们将学习带有进度条的laravel上传图片。您可以将此示例与laravel6、laravel7、laravel8和laravel9版本一起使用。正确按照步骤操......
  • Echarts柱状图渲染进度条效果
    柱状图渲染进度条效果option={yAxis:{type:'category',data:['Mon','Tue','Wed','Thu','Fri','Sat','Sun'],axisTick:{show:fals......
  • 上传文件的进度条
    想做一个上传文件的进度条,求大神看~-ThinkPHP框架 https://www.thinkphp.cn/topic/8630.html这是不用thinkphp框架写的index.php文件<script src="http://code.jqu......
  • 小程序scroll-view滑动进度条
     效果图如下:    代码如下:Page({data:{left:0.5//初始化滑块位置},//金刚区滑动事件scroll(event){letscrollLeft=e......
  • tqdm和zip组合使用时无法显示进度条-解决办法
    问题单独对于可迭代对象iterator使用tqdm时,结合循环就可以在终端显示进度条,以直观展示程序进度,如下:fromtqdmimporttqdmtextlist=[]foriinrange(10):te......