$(document).ready(function(){
$.widget('own.progressbar2', $.ui.progressbar, {
_base: $.ui.progressbar.prototype,
_refreshValue: function() {
var value = this.value();
var percentage = this._percentage();
if ( this.oldValue !== value ) {
this.oldValue = value;
this._trigger( "change" );
}
this.valueDiv
.toggleClass( "ui-corner-right", value === this.options.max )
.animate({
"width" : percentage.toFixed(0) + "%"
});
this.element.attr( "aria-valuenow", value );
}
});
$( "#a" ).progressbar({value: 37});
$( "#b" ).progressbar2({value: 37});
$('#add10').bind("click",function(){
var value = $( "#a" ).progressbar( "option", "value" ) + 10;
if(value > 100 ) value = 100;
$('#a').progressbar({"value": value});
$('#b').progressbar2({"value": value});
});
$('#min10').bind("click",function(){
var value = $( "#a" ).progressbar( "option", "value" ) - 10;
if(value < 0 ) value = 0;
$('#a').progressbar({"value": value});
$('#b').progressbar2({"value": value});
});
});
HTMLはこんな感じでテスト。
<body>
<div id="a"></div>
<div id="b"></div>
<input type="button" id="add10" value="+10" />
<input type="button" id="min10" value="-10" />
</body>
サンプル
なんかお手軽じゃないような気がしたけどまあいいか。