Site Notice
hello, world
Difference between revisions of "Svg loading"
From Project-EPB Commons
([InPageEdit] 没有编辑摘要) |
([InPageEdit] 没有编辑摘要) |
||
Line 1: | Line 1: | ||
<html> | <html> | ||
− | + | <svg xmlns="http://www.w3.org/2000/svg" version="1.1" class="svgspinner" width="52px" height="52px"> | |
− | <svg xmlns="http://www.w3.org/2000/svg" version="1.1" class=" | ||
<g id="group" style="" transform="translate(26,26)"> | <g id="group" style="" transform="translate(26,26)"> | ||
− | <circle | + | <circle data-status="doMinus" r="20" stroke="black" stroke-width="6" stroke-dasharray="120 1000" fill="transparent" style="transition: stroke-dasharray .2s linear" cx="0" cy="0"></circle> |
</g> | </g> | ||
</svg> | </svg> | ||
− | |||
<style> | <style> | ||
− | . | + | .svgspinner circle { |
animation: circle-spin 2s infinite linear; | animation: circle-spin 2s infinite linear; | ||
} | } | ||
Line 20: | Line 18: | ||
} | } | ||
</style> | </style> | ||
− | |||
<script> | <script> | ||
setInterval(function () { | setInterval(function () { | ||
Line 29: | Line 26: | ||
dash2; | dash2; | ||
if (dash1 > 126) { | if (dash1 > 126) { | ||
− | $this.attr(' | + | $this.attr('data-status', 'doMinus'); |
} else if (dash1 < 4) { | } else if (dash1 < 4) { | ||
− | $this.attr(' | + | $this.attr('data-status', 'doPlus'); |
} | } | ||
− | if ($this. | + | if ($this.attr('data-status') === 'doMinus') { |
dash2 = dash1 - 8; | dash2 = dash1 - 8; | ||
$this.attr('stroke-dasharray', dash2 + ' 1000'); | $this.attr('stroke-dasharray', dash2 + ' 1000'); | ||
− | } else if ($this. | + | } else if ($this.attr('data-status') === 'doPlus') { |
dash2 = dash1 + 8; | dash2 = dash1 + 8; | ||
$this.attr('stroke-dasharray', dash2 + ' 1000'); | $this.attr('stroke-dasharray', dash2 + ' 1000'); |
Revision as of 01:31, 3 December 2019
<html> <svg xmlns="http://www.w3.org/2000/svg" version="1.1" class="svgspinner" width="52px" height="52px"> <g id="group" style="" transform="translate(26,26)"> <circle data-status="doMinus" r="20" stroke="black" stroke-width="6" stroke-dasharray="120 1000" fill="transparent" style="transition: stroke-dasharray .2s linear" cx="0" cy="0"></circle> </g> </svg> <style> .svgspinner circle {
animation: circle-spin 2s infinite linear;
} @keyframes circle-spin {
from { transform: rotate(0deg); } to { transform: rotate(720deg); }
} </style> <script> setInterval(function () {
var $this = $('.spinner circle'), $class = $this.attr('class'), dash = $this.attr('stroke-dasharray'), dash1 = Number(dash.split(' ')[0]), dash2; if (dash1 > 126) { $this.attr('data-status', 'doMinus'); } else if (dash1 < 4) { $this.attr('data-status', 'doPlus'); } if ($this.attr('data-status') === 'doMinus') { dash2 = dash1 - 8; $this.attr('stroke-dasharray', dash2 + ' 1000'); } else if ($this.attr('data-status') === 'doPlus') { dash2 = dash1 + 8; $this.attr('stroke-dasharray', dash2 + ' 1000'); }
}, 200); </script> </html>