Javascript 如何在不延迟的情况下正确获取setInterval内的某些元素宽度?
我正在尝试使用Javascript 如何在不延迟的情况下正确获取setInterval内的某些元素宽度?,javascript,jquery,css,drop-down-menu,Javascript,Jquery,Css,Drop Down Menu,我正在尝试使用setInterval增加一些进度条。当我测试时,它运行良好 var progressBar=$('.progressBar'); var计数=0; var interval=setInterval(函数(){ var width=progressBar.width(); console.log(width++); 进度条宽度(宽度); 计数++; 如果(计数=101){ 间隔时间; } }, 50); 。进度条{ 宽度:0px; 高度:4px; 背景色:#00f; } 使用cs
setInterval
增加一些进度条。当我测试时,它运行良好
var progressBar=$('.progressBar');
var计数=0;
var interval=setInterval(函数(){
var width=progressBar.width();
console.log(width++);
进度条宽度(宽度);
计数++;
如果(计数=101){
间隔时间;
}
}, 50);代码>
。进度条{
宽度:0px;
高度:4px;
背景色:#00f;
}
使用css width属性代替od jQuery方法,因为它可能返回不可靠的数据
var递增=函数(进度条,毫秒){
var计数=0;
var interval=setInterval(函数(){
var-width=parseInt(progressBar[0].style.width)| 0;
console.log(width++);
progressBar[0]。style.width=`${width}px`;
计数++;
如果(计数=21){
间隔时间;
}
},ms);
}
$('.dropdown').on('show.bs.dropdown',函数(){
var progressBar=$(this.find('.progressBar');
增加(progressBar,+progressBar.data('ms'));
});代码>
。进度条{
宽度:0px;
高度:4px;
}
进度条为100ms
300毫秒的进度条
完美。没有阅读文档就进行测试是我的错。非常感谢!有关详细信息,请参阅: