HTML、CSS、JavaScript を使用して円形のカウントダウン タイマーを作成するにはどうすればよいでしょうか? 質問する

HTML、CSS、JavaScript を使用して円形のカウントダウン タイマーを作成するにはどうすればよいでしょうか? 質問する

現在、クイズ ゲームに取り組んでおり、そのゲームでは、各質問にカウントダウン タイマーを配置したいと考えています。プラグインはいくつか持っていますが、自分で作成できればと思っています。作成しようとしているのは、下の画像のようなものです。どのように作成できるか教えてください。

境界線を周囲の指定されたパーセンテージまでのみ割り当てる方法はありますか。そうすれば、最初に境界線を完全に指定し、その後、秒が進むにつれて境界線を減らしたり増やしたりして、完璧な境界線を得ることができます。

私が作成したいタイマーは、次のようになります (青い枠が毎秒増加する様子がわかると思います)。

ここに画像の説明を入力してください

ベストアンサー1

これは私が少し前に遊んでいたものです。SVG、CSS トランジション、JavaScript を組み合わせて使用​​しています。これを切り離して出発点として使用できるはずです...

/**
* The setTimeout({},0) is a workaround for what appears to be a bug in StackSnippets.
* It should not be required. See JSFiddle version.
*/

setTimeout(function() { 

  var time = 10; /* how long the timer will run (seconds) */
  var initialOffset = '440';
  var i = 1

  /* Need initial run as interval hasn't yet occured... */
  $('.circle_animation').css('stroke-dashoffset', initialOffset-(1*(initialOffset/time)));

  var interval = setInterval(function() {
      $('h2').text(i);
      if (i == time) {      
        clearInterval(interval);
        return;
      }
      $('.circle_animation').css('stroke-dashoffset', initialOffset-((i+1)*(initialOffset/time)));
      i++;  
  }, 1000);

}, 0)
.item {
    position: relative;
    float: left;
}

.item h2 {
    text-align:center;
    position: absolute;
    line-height: 125px;
    width: 100%;
}

svg {
   -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
}

.circle_animation {
  stroke-dasharray: 440; /* this value is the pixel circumference of the circle */
  stroke-dashoffset: 440;
  transition: all 1s linear;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="item html">
    <h2>0</h2>
    <svg width="160" height="160" xmlns="http://www.w3.org/2000/svg">
     <g>
      <title>Layer 1</title>
      <circle id="circle" class="circle_animation" r="70" cy="81" cx="81" stroke-width="8" stroke="#6fdb6f" fill="none"/>
     </g>
    </svg>
</div>

JSFiddle バージョン

おすすめ記事