SVG實現的圓環旋轉效果

antzone發表於2017-04-09

本章節分享一段程式碼例項,它使用svg實現了圓環旋轉效果。

需要的朋友可以做一下參考,程式碼例項如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html> 
<head> 
<meta charset=" utf-8"> 
<meta name="author" content="http://www.softwhy.com/" /> 
<title>螞蟻部落</title> 
<style type="text/css">
circle{
  -webkit-transition: stroke-dasharray .25s;
  transition: stroke-dasharray .25s;
}
</style>
<script>
window.onload = function () {
  if (window.addEventListener) {
    var range = document.querySelector("#range");
    var circle = document.querySelectorAll("circle")[1];
    if (range && circle) {
      range.addEventListener("change", function () {
        var percent = this.value / 100, perimeter = Math.PI * 2 * 170;
        circle.setAttribute('stroke-dasharray', perimeter * percent + " " + perimeter * (1 - percent));
      });
    }
  }
}
</script>
</head>
<body>
<svg width="440" height="440" viewbox="0 0 440 440">
  <circle 
    cx="220" cy="220" 
    r="170" 
    stroke-width="50" 
    stroke="#D1D3D7" 
    fill="none">
  </circle>
  <circle 
    cx="220" cy="220" 
    r="170" 
    stroke-width="50" 
    stroke="#00A5E0" 
    fill="none" 
    transform="matrix(0,-1,1,0,0,440)" 
    stroke-dasharray="0 1069">
  </circle>
</svg>
<p>拖我:<input id="range" type="range" min="0" max="100" value="0" style="width:300px;"></p>
</body>
</html>

妥當按鈕即可檢視環形效果。

相關文章