jQuery【 jQuery UI 】progressbar を使用してプログレスバーを作成

colmun_main10654

jQuery UI の progressbar を利用すると、ダウンロード時やファイル転送時などに 作業の進捗状況を表すような プログレスバー を作成することができます。
今回は、progressbar の使用方法について紹介します。

目次

 
1.progressbar を使用してプログレスバーを作成
2.progressbar のオプション
3.progressbar のイベント
4.progressbar のメソッド

1.progressbar を使用してプログレスバーを作成

 
jQuery UI の progressbar を使用して プログレスバーを作成します。
スタートボタンをクリックしてみて下さい。

 
上のサンプルのソースコードは次の通りです。

<script type="text/javascript" src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">

<script type="text/javascript">
<!--
$(function(){

$("#wkBtn").click(function(){

  $("#wkPg").progressbar({
    value: 0,
    change: function() {
      $("#wkText").text($("#wkPg").progressbar("value") + "%");
    },
    complete: function() {
      $("#wkText").text($("#wkPg").progressbar("value") + "% 完了");
    }
  });

  var id = setInterval(function() {
    var val = $("#wkPg").progressbar("value");
    $("#wkPg").progressbar("value", ++val);
    if (val >= 100) {clearInterval(id)}
  }, 10);

});

});
//-->
</script>

<div style="background-color:lightblue; padding:20px 20px 10px;">
  <input type="button" id="wkBtn" value="スタート">
  <div id="wkPg"></div>
  <div id="wkText" style="bottom:10px;"></div>
</div>

HTML 要素を指定して progressbar を呼び出し、中に表示したい内容を記述します。

change イベントは、プログレスバーの値が変更された時に発生するイベントで、complete イベントは、プログレスバーの値が最大値に達した時に発生するイベントです。

そして、setInterval メソッドで、10ミリ秒おきにプログレスバーの値を更新しています。

jQuery UI の導入についてはjQuery【 jQuery UI 】UI の導入と使用方法をご参照下さい。

▲目次へ戻る

 

2.progressbar のオプション

 
上のサンプルでは オプション「 value 」を設定していますが、progressbar には、以下のようなオプションがあります。

disabled プログレスバーを無効化するか否かを指定
初期値:false
max プログレスバーの最大値を指定
初期値:0
value プログレスバーの値を指定
初期値:0

▲目次へ戻る

 

3.progressbar のイベント

 
上のサンプルでは イベントの「 change 」「 complete 」を使用していますが、progressbar には、以下のようなイベントがあります。

change( event, ui ) プログレスバーの値が変更された時に実行する
complete( event, ui ) プログレスバーの値が最大値に達した時に実行する
create( event, ui ) プログレスバーが生成された時に実行する

▲目次へ戻る

 

4.progressbar のメソッド

 
progressbar には、以下のようなメソッドがあります。

destroy() プログレスバーの機能を完全に削除
「 $(“#wkPg”).progressbar(“destroy”); 」と記述
disable() プログレスバーを無効化
enable() プログレスバーを有効化
option(optionName) optionNameに指定したオプションの現在の値を取得
option() オプションの各キーと値がペアとなったオブジェクトを返す
option(optionName, value) 引数のoptionNameに指定したオプションに値を設定
option(options) 各キーと値がペアとなったオブジェクトをオプションに指定
value() プログレスバーの現在の値を取得
value(value) プログレスバーの現在の値を指定
widget() プログレスバーを含めたjQueryオブジェクトを返す

▲目次へ戻る

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です