是否可以使用某些内置功能或 3rd 方插件使用 Twitter Bootstrap(v2 或 v3)呈现不确定的进度条?我忠于谷歌,但没有运气。
我想实现的例子:
是否可以使用某些内置功能或 3rd 方插件使用 Twitter Bootstrap(v2 或 v3)呈现不确定的进度条?我忠于谷歌,但没有运气。
我想实现的例子:
在引导程序 2中:
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.2/css/bootstrap.min.css" rel="stylesheet" />
<div class="progress progress-striped active">
<div class="bar" style="width: 100%;"></div>
</div>
在引导程序 3中:
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet"/>
<div class="progress progress-striped active">
<div class="progress-bar" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%">
</div>
</div>
在引导程序 4中:
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<div class="progress">
<div class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100" style="width: 100%"></div>
</div>
如果你想要一个纯 CSS 的解决方案,你可以去:
HTML:
<div class="progress" style="position: relative;">
<div class="progress-bar progress-bar-striped indeterminate">
</div>
CSS:
.progress-bar.indeterminate {
position: relative;
animation: progress-indeterminate 3s linear infinite;
}
@keyframes progress-indeterminate {
from { left: -25%; width: 25%; }
to { left: 100%; width: 25%;}
}
这是一个工作版本:
这是我要获得不确定的进度条的方法:
...
)css
.progress {
margin: 15px;
}
.progress .progress-bar.active {
font-weight: 700;
animation: progress-bar-stripes .5s linear infinite;
}
.dotdotdot:after {
font-weight: 300;
content: '...';
display: inline-block;
width: 20px;
text-align: left;
animation: dotdotdot 1.5s linear infinite;
}
@keyframes dotdotdot {
0% { content: '...'; }
25% { content: ''; }
50% { content: '.'; }
75% { content: '..'; }
}
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<div class="progress">
<div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%">
<span>Please wait<span class="dotdotdot"></span></span>
</div>
</div>
(另见这个小提琴)
老话题..但我今天必须这样做。这就是我所做的。
首先,我使用了此处的 Bootstrap 对话框类。
HTML 片段
<div id="progressDiv" class="progress">
<div class="progress-bar progress-bar-striped active"
role="progressbar"
aria-valuenow="100"
aria-valuemin="0"
aria-valuemax="100"
style="width: 100%">
</div>
</div>
JavaScript
var progress = $("#progressDiv").html();
BootstrapDialog.show(
{
title: "Please wait...",
message: progress
});
生成的对话框是:(注意进度条是动画的)
这会弹出一个显示动画栏的模式对话框。
我对 100% 的动画条纹进度条不满意,所以我写了一些 CSS。只需将课程添加jkoop-progress-bar-indeterminate
到您的<div class="progress-bar ...
. 而已。
使用 Bootstrap v4.5 测试
.progress .jkoop-progress-bar-indeterminate.progress-bar-animated {
animation: indeterminate 1s linear infinite alternate, progress-bar-stripes 1s linear infinite;
width: 25% !important;
}
.progress .jkoop-progress-bar-indeterminate {
animation: indeterminate 1s linear infinite alternate;
width: 25% !important;
}
@keyframes indeterminate {
0% {
margin-left: 0;
}
100% {
margin-left: 75%;
}
}
<html>
<head>
<title>Indeterminate Progress Bar</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.bundle.min.js" integrity="sha384-LtrjvnR4Twt/qOuYxE721u19sVFLVSA4hf/rRt6PrZTmiPltdZcI7q7PXQBYTKyf" crossorigin="anonymous"></script>
</head>
<body style="margin: 20px;">
<h1>Indeterminate Progress Bar</h1>
<div class="progress">
<div class="jkoop-progress-bar-indeterminate progress-bar progress-bar-striped progress-bar-animated" role="progressbar" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100" style="width: 100%"></div>
</div>
<p style="color:#888;text-align:right">Bootstrap v4.5.2</p>
</body>
</html>
它不漂亮,但它完成了工作:
HTML:
<div class="progress" style="position: relative;">
<div class="progress-bar progress-bar-striped active" style="position: relative; left: -180px; width: 180px">
</div>
Javascript:
setInterval(function() {
var progress_width = $('.progress').width();
var $progress_bar = $('.progress-bar');
$progress_bar.css('left', '+=3');
var progress_bar_left = parseFloat($progress_bar.css('left')+'');
if (progress_bar_left >= progress_width)
$progress_bar.css('left', '-200px');
}, 20);
随意优化您的 jQuery 选择器;-)
这是一个工作版本: