首页 > 其他分享 >步骤计数器

步骤计数器

时间:2023-03-18 19:34:25浏览次数:23  
标签:center color 步骤 width 计数器 let background steps

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <link rel="stylesheet" href="new_file.css">
    </head>
    <body>
        <div class="box">
            <div class="progress">
                <div class="hui"></div>
                <div class="lan"></div>
                <div class="step active">1</div>
                <div class="step">2</div>
                <div class="step">3</div>
                <div class="step">4</div>
            </div>
            <div class="btn">
                <button type="button" class="prev" disabled>上一个</button>
                <button type="button" class="next">下一个</button>
            </div>
        </div>
        <script src="new_file.js"></script>
    </body>
</html>
*{
    margin: 0;
    padding: 0;
}
/* 让元素在网页居中 */
body{
    background-color: yellow;
    height: 100vh;
    /* 弹性布局 */
    display: flex;
    justify-content: center;
    align-items: center;
}
/* 整个计数器区域 */
.box{
    /* background-color: greenyellow; */
    /* 弹性布局 */
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.progress{
    width: 350px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    position: relative;
}
.hui{
    position: absolute;
    width: 100%;
    height: 5px;
    background-color: lightgray;
    z-index: -2;
}
.lan{
    position: absolute;
    width: 50px;
    height: 5px;
    background-color: deepskyblue;
    z-index: -1;
    transition: all 0.5s;
}
.step{
    width: 40px;
    height: 40px;
    border: 5px solid lightgray;
    border-radius: 25px;
    background-color: white;
    text-align: center;
    line-height: 40px;
    transition: all 0.5s;
}
.step.active{
    border-color: deepskyblue;
}
.btn{
    margin-top: 30px;
}
button{
    margin: 30px;
    padding: 5px 20px;
    transition: all 0.5s;
    background-color: deepskyblue;
}
/* 点击按钮时的动画 */
button:not(:disabled):active{
    transform: scale(0.8);
}
/* 禁用按钮的样子 */
button:disabled{
    background-color: lightgray;
    color: white;
    cursor: not-allowed;
}
// 上一个 和 下一个 按钮
let prev = document.querySelector('.prev')
let next = document.querySelector('.next')
// 选择 1234..
let steps = document.querySelectorAll('.step')
// 选择 lan 条
let lan = document.querySelector('.lan')
// 选择 进度条(为了重新计算宽度)
let progress = document.querySelector('.progress')
// 创建 计数器 
let i = 1

// 根据步骤数计算新宽度
progress.style.width = (steps.length*2-1)*50+'px'

// 点击下一个触发事件
next.onclick = function(){
    i = i+1
    // steps.length是步骤的数量
    if (i>steps.length){
        i = steps.length
    }
    // 把对应步骤数的边框变蓝
    steps[i-1].classList.add('active')
    // 当步骤超过1时,解除上一个按钮的禁用
    if (i>1){
        prev.disabled = false
    }
    // 当步骤数到达最大
    if (i===steps.length){
        next.disabled = true
    }
    // 增加蓝线
    lan.style.width = (i-1)*100 + 'px'
} 


// 点击上一个 按钮 触发的事件
prev.onclick = function(){
    i = i-1
    if (i<1){
        i = 1
    }
    // 删除上一个步骤的active
    steps[i].classList.remove('active')
    // 
    if (i<steps.length){
        next.disabled = false
    }
    if (i===1){
        prev.disabled = true
    }
    // 减短蓝线
    lan.style.width = (i-1)*100 + 'px'
}

标签:center,color,步骤,width,计数器,let,background,steps
From: https://www.cnblogs.com/duan-rui/p/17231531.html

相关文章

  • 项目上线的整个过程的详细讲解以及步骤(保姆级教程)
    目录一、项目上线的架构图二、购买与服务器(阿里云)三、回顾一下基本Linux命令吧四、安装MySQL数据库五、安装Redis数据库六、安装Python3.8七、安装uwsgi八、安装虚拟环境......
  • Linux下安装jdk的步骤与bug
    Linux下安装jdk的步骤与bug步骤:先在/opt/下创建一个software文件,用于存放压缩包进入opt下:cd/opt创建software文件:sudovimsoftware在software/下用......
  • GitHub删除项目步骤
    删除GitHub中项目步骤1、选择要删除项目2、点击“Setting”3、一直拉到最后,选择“Deletethisrepository”4、位置①就是你的项目名称,直接复制到位置②,点击位置③,......
  • 用TortoiseGit上传代码到Github的步骤
    下载安装两个软件:   官方网址下载:GitforWindowshttps://gitforwindows.org/Download–TortoiseGit–WindowsShellInterfacetoGithttps://tortoisegit.o......
  • RF环境安装简要操作步骤
    期间走了很多弯路,起初py3.9,版本相对较高,在基础上安装RF,一直失败无奈纠结各种出现的问题逐步解决,不肯放弃,但仍然无效最后只能退而求其次,选择降低版本 大致步骤如下:1.......
  • 四大步骤,教你彻底关闭Win10自动更新
     参考如下:https://baijiahao.baidu.com/s?id=1732432888882246429&wfr=spider&for=pc 关闭WindowsUpdate服务若您想彻底关闭Win10自动更新,可以在Windows服务中找......
  • 怎么在CAD表格中画斜线?CAD表格斜线一分为二绘制步骤
    在Excel表格中经常能看到用一条斜线将单元格一分为二,那么,你知道怎么在CAD表格中画斜线吗?本文小编就以浩辰CAD软件为例来给大家分享一下CAD表格斜线一分为二的绘制步骤,一起......
  • IntelliJ IDEA集成本地Maven步骤
    IntelliJIDEA集成本地Maven步骤一、前期准备Maven已经在本地环境配置完成,步骤可以参考我的这篇文章:https://www.cnblogs.com/rainbow-1/p/17223811.html二、IDEAmave......
  • docker 部署 xxl-job 详细步骤
    1、先安装mysqldockerpullmysql2、运行mysql容器(端口3306容器名称mysql密码123456)dockerrun-d--namemysql-eMYSQL_ROOT_PASSWORD=123456-p3306:3......
  • 11个步骤排查主机是否被入侵
    11个步骤完美排查linux机器是否已经被入侵入门小站 入门小站 2023-03-1321:50 发表于湖北入门小站分享运维技巧及10k+Stars的开源项目225篇原创内容......