1. 简介
进度条是网页中常见的元素,用于展示任务完成的进度。而在Layui中,进度条的渲染是非常方便的,只需要引入相应的模块,即可使用Layui提供的进度条组件。本文将详细介绍Layui中进度条的相关使用方法。
2. 引入模块
Layui的进度条组件需要引入相应的模块,包括layui.css
和layui.js
两个文件。可以选择使用CDN或本地文件进行引入。
<!-- 引入样式文件 -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/layui@2.5.7/dist/css/layui.css" integrity="sha384-qxNbCEKJf5IneUgRnDkLFOZzLcTTdsFe5Pw1dV8aTy/2DZyXKixMo8F3x7Fo1ab1" crossorigin="anonymous">
<!-- 引入JavaScript文件 -->
<script src="https://cdn.jsdelivr.net/npm/layui@2.5.7/dist/layui.js" integrity="sha384-71QsyaQ00udbKzUJ+zjVJO173cCCnmLevmM9syHexzbCXBnxDHrO99lehNKG6AQd" crossorigin="anonymous"></script>
3. 常规的进度条
3.1 基本结构
在Layui中,进度条的基本结构如下:
<div class="layui-progress">
<div class="layui-progress-bar"></div>
</div>
其中,layui-progress
为进度条的容器,layui-progress-bar
为进度条本身。
3.2 渲染进度条
使用Layui的element.progress('id', percent)
方法可以在页面中渲染进度条。其中,id
为进度条容器的id
,percent
为进度条的完成百分比,取值为0-100。
<div class="layui-progress" lay-showPercent="true">
<div id="demo1" class="layui-progress-bar" lay-percent="0%"></div>
</div>
<button class="layui-btn layui-btn-normal" onclick=startProgress()">开始</button>
<script>
function startProgress() {
var percent = 0;
var intervalId = setInterval(function() {
percent += Math.floor(Math.random() * 10); // 每次增加0-9的随机数
if (percent > 100) {
clearInterval(intervalId); // 完成后停止定时器
}
element.progress('demo1', percent + '%'); // 更新进度条
}, 1000);
}
</script>
以上代码实现了一个随机增加进度条的效果。点击“开始”按钮后,每秒钟增加0-9的随机数,直到进度条的完成百分比达到100。
3.3 自定义颜色
可以使用layui-progress-bar
的style
属性自定义进度条的颜色。例如:
<div class="layui-progress" lay-showPercent="true">
<div id="demo2" class="layui-progress-bar" lay-percent="0%" style="background-color: #1E9FFF;"></div>
</div>
<script>
function startProgress() {
var percent = 0;
var intervalId = setInterval(function() {
percent += Math.floor(Math.random() * 10); // 每次增加0-9的随机数
if (percent > 100) {
clearInterval(intervalId); // 完成后停止定时器
}
element.progress('demo2', percent + '%'); // 更新进度条
}, 1000);
}
</script>
以上代码将进度条的颜色设为蓝色。
4. 带文字描述的进度条
为了更好地展示进度条的任务完成情况,可以在进度条中添加文字描述。Layui中的进度条组件内置了layui-progress-text
用于实现文字描述。以下为带文字描述的进度条的基本结构:
<div class="layui-progress layui-progress-big" lay-showPercent="true">
<div class="layui-progress-bar layui-bg-blue" lay-percent="30%">
<span class="layui-progress-text">正在加载中...</span>
</div>
</div>
其中,layui-progress-text
的内容即为文字描述。此外,layui-progress
的类名为layui-progress-big
也是可选的,可以省略。
5. 圆形进度条
相比于传统的水平进度条,圆形进度条更加灵活,支持不同形状、不同大小的容器,更加适用于移动端等场景。
5.1 基本结构
在Layui中,圆形进度条的基本结构如下:
<div class="layui-progress layui-progress-big" lay-showPercent="true">
<div class="layui-progress-bar layui-bg-green layui-progress-big" lay-filter="demo3">
<div class="layui-progress-cir layui-bg-green" style="left: {{d.cValue}}%;"></div>
</div>
<div class="layui-progress-text">{{d.cValue}}%</div>
</div>
其中,layui-progress-bar
为进度条本身,layui-progress-cir
为圆圈。需要注意的是,进度条的宽度需要与容器的高度相等。
5.2 渲染圆形进度条
使用Layui的element.progress('filter', percent)
方法可以在页面中渲染圆形进度条。其中,filter
为进度条的lay-filter
属性的值,percent
为进度条的完成百分比,取值为0-100。
<div class="layui-progress layui-progress-big" lay-showPercent="true">
<div id="demo3" class="layui-progress-bar layui-bg-green layui-progress-big" lay-filter="demo3">
<div class="layui-progress-cir layui-bg-green" style="left: 0%;"></div>
</div>
<div class="layui-progress-text">0%</div>
</div>
<button class="layui-btn layui-btn-normal" onclick=startCircleProgress()">开始</button>
<script>
function startCircleProgress() {
var percent = 0;
var intervalId = setInterval(function() {
percent += Math.floor(Math.random() * 10); // 每次增加0-9的随机数
if (percent > 100) {
clearInterval(intervalId); // 完成后停止定时器
}
element.progress('demo3', percent + '%'); // 更新进度条
$('.layui-progress-cir', '#demo3').css('left', percent + '%'); // 更新圆圈位置
$('.layui-progress-text', '#demo3').text(percent + '%'); // 更新文字描述
}, 1000);
}
</script>
以上代码实现了一个随机增加圆形进度条的效果。点击“开始”按钮后,每秒钟增加0-9的随机数,直到进度条的完成百分比达到100。
6. 总结
通过本文的介绍,我们了解到了Layui中进度条的基本使用方法以及一些扩展功能的实现方式。在实际项目中,可以结合具体业务需求进行进一步的定制化开发,实现更加多样化的进度条效果。