作者:前端进阶者来源:前端进阶学习交流
我们经常在网页上 ,游戏界面加载时会看到加载进度条的效果,我们往往会以为这些加载进度条的效果,很难实现。
今天教大家JS+css结合做简单一个加载进度条的效果。
软件:HBuilderX。
1. body 创建2个div,外部div添加id"progress"属性, 添加 id属性 。
<div id="progress">
<div id="progress-bar"></div>
</div>
2.设置progress CSS样式。
设置宽度,高度,边框圆角,超过溢出处理,边框颜色等等属性。
#progress {
width: 100%;
height: 30px;
position: relative;
background-color: #ddd;
border-radius: 10px;
overflow: hidden;
}
3.设置progress-bar CSS样式。
设置宽度,高度,行高,文字颜色,背景颜色等等属性。
#progress-bar {
background-color: #d9534f;
width: 10px;
height: 30px;
line-height: 30px;
position: absolute;
text-align: center;
color: white;
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
background-size: 40px 40px;
}
4. 设置 创建两个按钮,添加点击事件。
<button onclick="start()">开始进度</button>
<button onclick="stop()">结束进度</button>
5.start()方法,添加定时器。
function start() {
t = setInterval(progress, 60);
}
6.判断当进度条到100%时,停止定时器,没有到达,再执行方法。
function progress() {
if (i < 100) {
i++;
bar.style.width = i + "%";
bar.innerhtml = i + " %";
} else {
clearInterval(t);
}
}
7. 设置stop()方法,移除定时器, 停止执行。
function stop() {
clearInterval(t);
}
8. 调用方法,实现效果。
1、f12运行到chrome浏览器。
2、点击开始进度按钮,加载进度。显示进度加载情况。
3、加载到100% 停止定时器!
4、按钮结束进度按钮,停止定时器。直接从当前进度停止。