解
解决办法很简单.您需要做的就是将animation
设置为none
:
document.getElementById('spinner').style.animation = 'none';
演示
下面是演示它的代码片段.旋转2s
次后,旋转装置将停止.
// Get the spinner element
var spinner = document.getElementById('spinner');
// Show the spinner
spinner.style.display = 'inline-block';
// Set a timeout of 2 seconds
setTimeout(function() {
// Stop the spinner animation
spinner.style.animation = 'none';
}, 2000);
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css">
<span class='spinner-border spinner-border-sm text-primary' role='status' aria-hidden='true' id='spinner' style='display: none'></span>
<!-- jQuery library -->
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.slim.min.js"></script>
<!-- Popper JS -->
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
<!-- Latest compiled JavaScript -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js"></script>
Edits
编辑#1:显示整个圆圈
正如我在 comments 中所说,旋转器一开始就不是完整的圆圈.因此,一个迂回的方法是,当微调必须停止时,将分类更改为图标FontAwesome
,以便显示所请求的图标.
要做到这一点,首先包括cdn:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css" integrity="sha512-z3gLpd7yknf1YoNbCzqRKc4qyor8gaKU1qmn+CShxbuBusANI9QpRohGBreCFkKxLhei6S9CQXFEbbKuqLg0DA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
在字体AWOW6中,圆形图标是<i class="fa-regular fa-circle"></i>
,所以我们在JS中将微调按钮的className
替换为'fa-regular fa-circle'
.
document.getElementById('spinner').className = "fa-regular fa-circle";
演示
在演示中,微调将在运行2s
次后停止并更改图标(我已将图标更改为check
,并按text-success
级更改为绿色-但您可以使用任何您想使用的 colored颜色 ,过程是相同的).
编辑#2:处理动画的更好方法
根据@Yogi
的 comments ,是的,另一个解决方案更复杂,但我不认为@user1753640
想要重新启动动画,因为他要求在旋转结束时将图标更改为完整的圆圈.不过,如果他们真的想这样做,那么我还建议使用spinner.style.animationIterationCount
停止并重新启动微调器,其中值0
停止,值Infinite
开始动画.