原生JS编写了个简易进度条,还请各位前辈指教~

刚开始学习JS不久,以及第一次来到博客园,第一次进行分享博文。。。

噢,不对,不能说是分享,而是学习请教,请前辈多多指教,各个方面都可以~

感谢您的路过~

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            .boxs{width:800px;margin:100px auto;}
            .box{width:800px;background:grey;border-radius:4px;position:relative;height:34px;float:left;}
            .rate{position:absolute;border-radius:4px;top:-35px;}
            .rate div:nth-of-type(1){line-height:25px;width:34px;background:black;border-radius:3px;color:white;text-align: center;font-size: 12px;}
            .rate div:nth-of-type(2){border:6px solid transparent;border-top-color:black;width:0px;position:absolute;left:11px}
            #box1{height:16px;position:absolute;background:blue;margin-top: 9px;left:17px;z-index:2;}
            .sign{border:8px solid transparent;border-left-color:black;width:0px;margin-top: 9px;z-index:2;position:relative;left:17px;}
            .dashed{width: 756px;height: 2px;background-image: linear-gradient(to right, #fff 0%, #fff 55%, transparent 50%);background-size: 12px 2px;background-repeat: repeat-x;position:absolute;top:16px;z-index:1;left:17px;}
        </style>
        <script type="text/javascript">
            window.onload=function(){
                var rate=document.getElementsByClassName("rate")[0];
                var rate1=rate.firstElementChild;
                rate1.innerHTML="0%";
                var box1_l=document.getElementById("box1");
                var sign_l=document.getElementsByClassName("sign")[0];

                var bottom_rate=document.getElementsByClassName("dashed")[0];
                var length_brate=bottom_rate.offsetWidth;

                var speed=1;
                function move(){
                    box1_l.style.width=box1_l.offsetWidth+speed+‘px‘;
                    sign_l.style.left=sign_l.offsetLeft+speed+‘px‘;
                    rate.style.left=rate.offsetLeft+speed+‘px‘;

                    if(rate1.innerHTML!="100%"){
                        rate1.innerHTML=parseInt(parseInt(box1_l.style.width)/length_brate*100)+‘%‘;
                    }else{
                        clearInterval(rate_1);
                    }
                }
                var rate_1=setInterval(move,20);
            }
        </script>
    </head>
    <body>
        <div class="boxs">
            <div class="box">
                <div class="rate">
                    <div></div>
                    <div></div>
                </div>
                <div id="box1"></div>
                <div class="sign"></div>
                <div class="dashed"></div>
            </div>
        </div>
    </body>
</html>

原文地址:https://www.cnblogs.com/mycognos/p/9130906.html

时间: 2024-10-03 13:38:59

原生JS编写了个简易进度条,还请各位前辈指教~的相关文章

原生js上传文件 显示进度条

最近在做文件上传的功能,因为界面设计比较简单,就没有引用jq,但是网上大部分的上传插件都需要jq的支持.为了一个上传功能引用90多k的jq文件有点太小题大做了,所以就自己动手写了一个原生js上传的demo.下面是代码: HTML代码 <html> <head> <title></title> </head> <body> <input type="file" id="f" /> &l

原生js做一个简单的进度条

用原生js做进度条,布局非常简单,一个盒子里放一个span标签,让它的宽度为0,并且转成块元素. 主要用定时器动态增加span的宽度,并且当它的宽度大于父级盒子的宽度的时候停止 效果如下: 一 css如下: *{ margin: 0; padding: 0; } #box{ width: 500px; height: 30px; margin: 50px auto; overflow: hidden; border: 1px solid #CCCCCC; border-radius: 15px;

原生js移动端可拖动进度条插件

该插件最初的想法来自网上的一篇文章,直达链接:https://www.cnblogs.com/libin-1/p/6220056.html 笔者因为业务需要寻找到这个插件,然后拿来用之,发现各种不方便,然后便开始了改造之路. 上代码: 1 <script> 2 function dragSlide(id) { 3 this.minDiv =document.getElementById(id); //小方块 4 5 this.width = parseInt(window.getCompute

视频控制的简易进度条

视频控制的简易进度条 样式: 作用:控制视频的播放点,实时显示视频播放位置 html: <div class="coll"> <span name="progress"> <b></b> <b></b> <b></b> </span> </div> css: .coll{position: absolute;bottom: 20px;left: 2

shell脚本的简易进度条

一.简易进度条的基础 1.数组 bash支持一维数组(不支持多维数组),并且没有限定数组的大小.类似于C语言,数组元素的下标由0开始编号.获取数组中的元素要利用下标,下标可以是整数或算术表达式,其 值应大于或等于0. 定义数组:在Shell中,用括号来表示数组,数组元素用"空格"符号分割开. 读取数组元素值的一般格式是:${array_name[index]}. 读取数组元素所有值的一般格式是:${array_name[*]}或者${array_name[@]}. 求取数组的长度:${

原生JS编写图片切换效果和点击按钮的样式变化

这两天更进一步的了解了JS,老师让我们用原生的js编写图片切换和改变点击按钮样式,就是让我们学会怎么去把一个问题拆分,怎么将一个大问题拆分成许多的小问题,再用函数封装起来.比如一个点击按钮,让其点击时背景色发生改变,点击另一个时,上一个按钮要变回原来本有的颜色:这个问题用jquery,一行代码就搞定,但是用原生js就得分三个部分来考虑: 1.添加改变背景的样式. 2.怎么获取到除了当前点击的按钮以外其他的兄弟节点. 3.怎么去除按钮的样式属性. 也讲了事件委托,实现了可以删除新添加的元素的功能.

原生js之道——原生js编写类选择器

一.类选择器的概念 类选择器,就是通过class属性获取节点.比如一个html结构中,有三个p标签都具有class="red"的属性,那么类选择器返回的就是这三个p标签. 在jquery中,我们可以很方便的通过$(".red")这种方式按照类获取节点.但是在原生的javascript中,有getElementById(按照id属性获取元素).getElementsByTagName(按照标签名获取元素)等方法,但是并没有类选择器相关方法.因此,编写原生js实现类选择

BASH Shell 简易进度条小函数

不多说,直接上脚本. # processbar <current> <total> processbar() { local current=$1; local total=$2; local maxlen=80; local barlen=66; local perclen=14; local format="%-${barlen}s%$((maxlen-barlen))s" local perc="[$current/$total]" l

js动画 无缝轮播 进度条 文字页面展示 div弹窗遮罩效果

1.无缝轮播 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="ser