Site Notice

hello, world

Difference between revisions of "Svg loading"

From Project-EPB Commons
([InPageEdit] 没有编辑摘要)
([InPageEdit] 没有编辑摘要)
Line 7: Line 7:
 
<style>
 
<style>
 
.svgspinner circle {
 
.svgspinner circle {
   animation: circle-spin 2s infinite linear;
+
   animation: circle-spin 1.8s infinite linear;
 
}
 
}
 
@keyframes circle-spin {
 
@keyframes circle-spin {
Line 31: Line 31:
 
   }
 
   }
 
   if ($this.attr('data-status') === 'doMinus') {
 
   if ($this.attr('data-status') === 'doMinus') {
     dash2 = dash1 - 8;
+
     dash2 = dash1 - 12;
 
     $this.attr('stroke-dasharray', dash2 + ' 1000');
 
     $this.attr('stroke-dasharray', dash2 + ' 1000');
 
   } else if ($this.attr('data-status') === 'doPlus') {
 
   } else if ($this.attr('data-status') === 'doPlus') {
     dash2 = dash1 + 8;
+
     dash2 = dash1 + 12;
 
     $this.attr('stroke-dasharray', dash2 + ' 1000');
 
     $this.attr('stroke-dasharray', dash2 + ' 1000');
 
   }
 
   }

Revision as of 01:32, 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 1.8s infinite linear;

} @keyframes circle-spin {

 from {
   transform: rotate(0deg);
 }
 to {
   transform: rotate(720deg);
 }

} </style> <script> setInterval(function () {

 var $this = $('.svgspinner 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 - 12;
   $this.attr('stroke-dasharray', dash2 + ' 1000');
 } else if ($this.attr('data-status') === 'doPlus') {
   dash2 = dash1 + 12;
   $this.attr('stroke-dasharray', dash2 + ' 1000');
 }

}, 200); </script> </html>