Site Notice

hello, world

Difference between revisions of "Svg loading"

From Project-EPB Commons
([InPageEdit] 没有编辑摘要)
([InPageEdit] 没有编辑摘要)
Line 1: Line 1:
 
<html>
 
<html>
<div class="spinner-block">
+
<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="spinner" width="52px" height="52px">
 
 
<g id="group" style="" transform="translate(26,26)">
 
<g id="group" style="" transform="translate(26,26)">
<circle class="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>
+
<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>
</div>
 
 
<style>
 
<style>
.spinner circle {
+
.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('class', 'doMinus');
+
     $this.attr('data-status', 'doMinus');
 
   } else if (dash1 < 4) {
 
   } else if (dash1 < 4) {
     $this.attr('class', 'doPlus');
+
     $this.attr('data-status', 'doPlus');
 
   }
 
   }
   if ($this.hasClass('doMinus')) {
+
   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.hasClass('doPlus')) {
+
   } 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>