我是页面上的几个 Jquery UI 进度条小部件的实例。
我遇到的问题是它只加载第一个值,并为每个条模拟每个值,而不是循环浏览页面上的所有条并获取唯一值。谁能解释为什么每个函数没有正确循环值?
添加了一个小提琴:http: //jsfiddle.net/Uy9cA/25/
<div class="progress_bar" value="20"><div class="progress-label">Loading...</div></div> <div class="progress_bar" value="40"><div class="progress-label">Loading...</div></div>
jQuery
$(function() {
$('.progress_bar').each(function() {
var progressbar = $( ".progress_bar" ),
progressLabel = $( ".progress-label" ),
progressvalue = $(".progress_bar").attr('value');
console.log(progressvalue);
progressbar.progressbar({
value: false,
change: function() {
progressLabel.text( progressbar.progressbar( "value" ) + "% Complete" );
},
complete: function() {
progressLabel.text( "Complete!" );
}
});
function progress() {
var val = progressbar.progressbar( "value" ) || 0;
progressbar.progressbar( "value", val + 1 )
.removeClass("beginning middle end")
.addClass(val < 40 ? "beginning" : val < 80 ? "middle" : "end");
if ( val < progressvalue )
{
setTimeout( progress, 100 );
}
}
setTimeout( progress, 100 );
});
});