Javascript 如何设置动画图标在一段时间后停止

Javascript 如何设置动画图标在一段时间后停止,javascript,jquery,font-awesome,Javascript,Jquery,Font Awesome,事件发生后,我将显示以下代码: $("span[name|='ttimer'").html("<i class='fa fa-refresh fa-spin fa-5x' aria-hidden='true'></i> "); $(“span[name |='ttimer')).html(“”); 如何让旋转运动持续3秒,然后停止移动?首先,请注意,属性选择器缺少关闭按钮] 要执行所需操作,需要删除元素上的fa spin类。您可以使用setTimeout(),如下所示

事件发生后,我将显示以下代码:

$("span[name|='ttimer'").html("<i class='fa fa-refresh fa-spin fa-5x' aria-hidden='true'></i> ");
$(“span[name |='ttimer')).html(“”);

如何让旋转运动持续3秒,然后停止移动?

首先,请注意,属性选择器缺少关闭按钮
]

要执行所需操作,需要删除元素上的
fa spin
类。您可以使用
setTimeout()
,如下所示:

var $span = $("span[name|='ttimer']").html('<i class="fa fa-refresh fa-spin fa-5x" aria-hidden="true"></i>');
setTimeout(function() {
  $span.find('.fa-spin').removeClass('fa-spin');
}, 3000);
var$span=$(“span[name |='ttimer']”)html(“”);
setTimeout(函数(){
$span.find('.fa-spin').removeClass('fa-spin');
}, 3000);

首先,请注意您的属性选择器缺少结束符
]

要执行所需操作,需要删除元素上的
fa spin
类。您可以使用
setTimeout()
,如下所示:

var $span = $("span[name|='ttimer']").html('<i class="fa fa-refresh fa-spin fa-5x" aria-hidden="true"></i>');
setTimeout(function() {
  $span.find('.fa-spin').removeClass('fa-spin');
}, 3000);
var$span=$(“span[name |='ttimer']”)html(“”);
setTimeout(函数(){
$span.find('.fa-spin').removeClass('fa-spin');
}, 3000);

动画是由
fa spin
引起的-您可以通过设置超时来删除该动画:

setTimeout(function() { 
    $("span[name|='ttimer']>i.fa-spin").removeClass("fa-spin");
}, 3000);

动画是由
fa spin
引起的-您可以通过设置超时来删除该动画:

setTimeout(function() { 
    $("span[name|='ttimer']>i.fa-spin").removeClass("fa-spin");
}, 3000);

也许你正在寻找这个,
动画迭代计数

div {
    animation-iteration-count:3;
    -webkit-animation-iteration-count:3; /* Safari and Chrome */
}

这样您就不必删除类名

也许您正在寻找这个,
动画迭代计数

div {
    animation-iteration-count:3;
    -webkit-animation-iteration-count:3; /* Safari and Chrome */
}


通过这种方式,您不必删除类名

@Maleka如果您使用的是css3动画,请将其添加到动画类名中,如
.fa spin
.fa spin{-webkit animation:fa spin 2s infinite linear;animation:fa spin 2s infinite linear;}我应该用'2'或'2s'替换无限吗?看起来您可以使用
动画持续时间
而不是
迭代计数
尝试:
.fa-spin.fa-refresh{animation duration:3s}
@Maleka是您应该将
无限
属性更改为number@Maleka如果您使用的是css3动画,将其添加到动画类名中,如
.fa spin
.fa spin{-webkit动画:fa spin 2s infinite linear;动画:fa spin 2s infinite linear;}我是否应将infinite替换为“2”或“2s”?看起来您可以使用
动画持续时间
而不是
迭代计数
尝试:
.fa spin.fa-refresh{动画持续时间:3s}
@Maleka是的,您应该将
infinite
属性更改为一个数字。我之前注意到了编码,但代码从未出现错误。因此我认为代码只是扫描字符串搜索的第一部分。我尝试了您的代码,但旋转似乎会再次开始并停止。这取决于您运行的事件查看下面的代码。您是否可以编辑您的问题以显示更多的HTML和JS逻辑。我认为这个问题背后的原因是,它是通过ajax调用的响应调用的,而ajax调用的响应又取决于计时器……这听起来像是个问题。如果您使用ajax轮询,我建议您找到另一种方法,如下所示这是一种不好的做法。使用websockets保持UI与服务器同步,而我之前注意到了编码,但代码从未出现错误。因此我认为代码只是扫描字符串搜索的第一部分。我尝试了您的代码,但似乎旋转会再次开始并停止。这取决于您运行的事件g下面的代码。您是否可以编辑您的问题以显示更多的HTML和JS逻辑。我认为这个问题背后的原因是,它是通过ajax调用的响应调用的,而ajax调用的响应又取决于计时器……这听起来像是个问题。如果您使用ajax轮询,我建议您找到另一种方法,因为它是的错误做法。使用WebSocket使UI与服务器保持同步,而不是读取我尝试了你的代码,但旋转似乎一直在启动和停止。我尝试了你的代码,但旋转似乎一直在启动和停止。