jQuery-UI プログレスバー

jQuery-UI プログレスバー

基本



(1)プログレスバーの表示領域
<div id="progress1"> </div>
<script type="text/javascript">
$(function() {
  // (2)プログレスバーを生成
  $('#progress1').progressbar({
    value: 37,
    max: 150
  });
});
</script>

進捗を文字表示



(1)プログレスバーの表示領域
<div id="progress2">
  <div id="loading2"> </div>
</div>
(2)値の表示位置を調整
<style type="text/css">
  #loading2 {
    /*表示位置の絶対位置指定*/
    position: absolute;
    left: 50%;
  }
</style>
絶対表示については「CSS position」参照
<script type="text/javascript">
  $(function() {
    // (2)プログレスバーを生成
    $('#progress2').progressbar({
      value: 37,
      max: 150
    });
    // (3)現在の値(割合)を表示
    var per = $('#progress2').progressbar('value') / $('#progress2').progressbar('option', 'max');
    $('#loading2').text(Math.ceil(per * 100) + '%');
  });
</script>

動作デモ



(1)プログレスバーの表示領域
<div id="progress3">
  <div id="loading3"> </div>
</div>
(2)値の表示位置を調整
<style type="text/css">
  #loading3 {
    position: absolute;
    left: 50%;
  }
</style>
<script type="text/javascript">
  $(function(){
    var objP = $('#progress3');
    var objText = $('#loading3');
    
    objP.progressbar({
      value: 0,
      change: function(){
        objText.text(objP.progressbar('value') + '%');
      }
    });
    
    //0.1秒に1回、function(){~}を実行する
    var timer = setInterval(function(){
      var nowValue = objP.progressbar('value');
      //nowValue += 1 した値をプログレスバーに設定
      objP.progressbar('value', ++nowValue);
      if (nowValue >= 100){
        //本当は100になった時に時計を止める
        //clearInterval(timer);
        
        //デモ用。100になった時に値を0に。
        objP.progressbar('value', -100);
      }
    },100);
  });
</script>