<div class="layui-container">
<div class="layui-row">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header"></div>
<div class="layui-card-body">
<div class="step-container">
<div id="step1" class="step-item ">
<div class="step-num">1</div>
<div class="step-text">步骤 1</div>
</div>
<div id="step2" class="step-item ">
<div class="step-num">2</div>
<div class="step-text">步骤 2</div>
</div>
</div>
<div class="step-line"></div>
<div class="layui-btn-container">
<button class="layui-btn layui-btn-primary" id="prevBtn">上一步</button>
<button class="layui-btn" id="nextBtn">下一步</button>
</div>
</div>
</div>
</div>
</div>
</div>
<style>
.step-container {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.step-item {
position: relative;
text-align: center;
cursor: pointer;
}
.step-item .step-num {
width: 30px;
height: 30px;
line-height: 30px;
border-radius: 50%;
background-color: #fff;
border: 1px solid #ccc;
margin-bottom: 5px;
}
.step-item .step-text {
font-size: 14px;
}
.step-line {
height: 2px;
background-color: #ccc;
margin-bottom: 20px;
transition: width 0.3s ease;
}
.layui-btn-container {
text-align: right;
}
</style>
<script>
$(document).ready(function () {
var currentIndex = 0;
var stepItems = $('.step-item');
var stepLine = $('.step-line');
// 初始化步骤条
updateStep();
// 上一步按钮点击事件
$('#prevBtn').on('click', function () {
if (currentIndex > 0) {
currentIndex--;
updateStep();
}
});
// 下一步按钮点击事件.attr('class', "step - item layui - bg - blue layui - this");
$('#nextBtn').on('click', function () {
$('#step2')
if (currentIndex < stepItems.length - 1) {
currentIndex++;
updateStep();
}
});
// 步骤条点击事件
stepItems.on('click', function () {
currentIndex = $(this).index();
updateStep();
});
// 更新步骤条状态
function updateStep() {
stepItems.each(function (index) {
var stepId = $(this).attr('id');
if (index === currentIndex) {
$('#' + stepId + " .step-num").attr('style', "background-color:cornflowerblue;color:white");
} else {
$('#' + stepId + " .step-num").attr('style', "");
}
});
stepLine.css('width', (currentIndex / (stepItems.length - 1) * 100) + '%');
}
});
</script>