带进度条的转盘-jQuery宽度问题

带进度条的转盘-jQuery宽度问题,jquery,twitter-bootstrap,Jquery,Twitter Bootstrap,我有一个选项卡式引导转盘,每个选项卡都有一个进度条。当我单击一个选项卡时,进度条开始设置动画,前面的所有条都是彩色的。这很好,但是第二轮的第一个LI元素并没有开始动画,它从一开始就是全彩的,我不知道出了什么问题 以下是bootply中转载的问题: 非常感谢您的帮助,我觉得有点绝望。这是因为CSS宽度在同一事件执行中设置了两次: $('custom#u carousel.controls li.progress').css('width','') 然后对于活动选项卡: active.find('.

我有一个选项卡式引导转盘,每个选项卡都有一个进度条。当我单击一个选项卡时,进度条开始设置动画,前面的所有条都是彩色的。这很好,但是第二轮的第一个LI元素并没有开始动画,它从一开始就是全彩的,我不知道出了什么问题

以下是bootply中转载的问题:


非常感谢您的帮助,我觉得有点绝望。

这是因为CSS宽度在同一事件执行中设置了两次:

$('custom#u carousel.controls li.progress').css('width','')

然后对于活动选项卡:

active.find('.progress').css(“宽度”,“100%”)

由于更改是排队的,当旋转木马环绕第一个选项卡时,它的进度将保留其100%的宽度,因为它第一次设置为“”,然后设置为100%,100%是最后一次更改,因此是来自事件函数的CSS值

若要重新绘制第一个选项卡的进度,您需要将宽度设置为“”,然后在稍后时间将宽度设置为100%:

$(文档).ready(功能(ev){
$('#custom_carousel.controls li.active.progress').css(“width”,“100%”);
$(“#自定义旋转木马”)。on('slide.bs.carousel',函数(evt){
$('#custom_carousel.controls li.active').removeClass('active');
$('#自定义#carousel.controls li.progress').css('width','');
setTimeout(函数(){
var active=$('#自定义旋转木马.controls li:eq(+$(evt.relatedTarget.index()+));
active.find('.progress').css(“宽度”,“100%”);
active.addClass('active');
active.prevAll().find('.progress').css(“宽度”,“100%”);
}, 0);
})
});

setTimeout将在事件函数退出后调用0ms,并在浏览器被告知将其设置为“”后将选项卡的进度设置为100%。

您是否可以使用其他共享站点提供您的代码片段?bootsnipp.com需要注册才能查看您的样本。@Forty3对不起,我还没有意识到这一点。在bootply上正确复制并编辑了这篇文章。非常感谢您的解答和解释。我认为这取决于顺序,并且没有考虑在同一事件执行中调用。我会记住的。