• LINEで送る

プログレスバーを作る

ローディングなんかに良さそうですね。ストライプとストライプアニメーションが良い感じです。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<div class="progress">
  <div class="progress-bar" style="width: 20%;"></div>
</div>
<div class="progress">
  <div class="progress-bar progress-bar-info" style="width: 30%"></div>
</div>
<div class="progress">
  <div class="progress-bar progress-bar-success" style="width: 40%"></div>
</div>
<div class="progress">
  <div class="progress-bar progress-bar-warning" style="width: 50%"></div>
</div>
<div class="progress">
  <div class="progress-bar progress-bar-danger" style="width: 60%"></div>
</div>
<div class="progress progress-striped">
  <div class="progress-bar progress-bar-info" style="width: 20%"></div>
</div>
<div class="progress progress-striped">
  <div class="progress-bar progress-bar-success" style="width: 30%"></div>
</div>
 
<div class="progress progress-striped">
  <div class="progress-bar progress-bar-warning" style="width: 40%"></div>
</div>
 
<div class="progress progress-striped">
  <div class="progress-bar progress-bar-danger" style="width: 50%"></div>
</div>
<div class="progress progress-striped active">
  <div class="progress-bar" style="width: 45%"></div>
</div>
<div class="progress">
  <div class="progress-bar progress-bar-success" style="width: 35%"></div>
  <div class="progress-bar progress-bar-warning" style="width: 20%"></div>
  <div class="progress-bar progress-bar-danger" style="width: 10%"></div>
</div>

100%までアニメーションさせてみる

jQueryでボタンを押した時に100%になるようにしてるだけなのですが、アニメーションしてくれるようです。

数値が決め打ちなら良いかもしれません。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script type="text/javascript">
      $(function () {
        $(document).on('click','#start',function(){
          $("#pgss").css({'width':'100%'});
        });
        $(document).on('click','#back',function(){
          $("#pgss").css({'width':'0%'});
        });
      })
      </script>
 
      <button type="button" class="btn btn-success btn-sm" id="start">ボタンを押すとスタート</button>
      <button type="button" class="btn btn-success btn-sm" id="back">戻す</button>
      <div class="code" style="width: 50%; padding-top: 15px">
        <div class="progress">
          <div class="progress-bar progress-bar-info" id="pgss"></div>
        </div>
      </div>

自前で100%までアニメーションさせてみる

90%で止めてます。

これはBootstrapのアニメーションと被るようで、カクカクした動きになるようです。ローディング系でアニメーションさせるなら自作した方が良さそうですね。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<script type="text/javascript">
$(function () {
  var count = 0;
  $(document).on('click','#start2',function(){
     progress(count);
  });
  $(document).on('click','#back2',function(){
    $("#pgss2").css({'width':'0%'});
  });
 
  function progress(count){
    setTimeout(function(){
      $("#pgss2").css({'width':count+'%'});
      count++;
      if(count == 90) return;
      progress(count);
    },100);
  }
})
</script>
<button type="button" class="btn btn-success btn-sm" id="start2">ボタンを押すとスタート</button>
<button type="button" class="btn btn-success btn-sm" id="back2">戻す</button>
<div class="code" style="width: 50%; padding-top: 15px">
  <div class="progress">
    <div class="progress-bar progress-bar-info" id="pgss2"></div>
  </div>
</div>