½ÃÀÛÆäÀÌÁö·Î Áñ°Üã±âÃß°¡
·Î±×ÀÎ
ȸ¿ø°¡ÀÔ l Ã⼮üũ l ¸¶ÀÌÆäÀÌÁö l CGIMALL
Ŭ¸¯ÇÏ¸é ´Ù¿î·Î´Â µÇ´Â ¾Ö´Ï¸ÞÀÌ¼Ç Download Animation (SVG) : happycgi
ÀÚ·á½Ç »çÀÌÆ®µî·Ï ·©Å·100 ÇÁ·Î±×·¥¸®ºä °ü¸®ÀÚÃßõÀÚ·á Ãʺ¸°¡À̵å
Ä¿¹Â´ÏƼ
Àüü ÆîÃ帱â
Äü¸Þ´º¸µÅ© jquery , CSS , PHP , Javascript , ¹«·áÆùÆ® , ASP
»ó¼¼°Ë»ö
Ȩ > CSS > ¹öư > Å¬¸¯ÇÏ¸é ´Ù¿î·Î´Â µÇ´Â ¾Ö´Ï¸ÞÀÌ¼Ç Download Animation (SVG) »ó¼¼Á¤º¸
»çÀÌÆ®µî·Ï
Ŭ¶ó¿ìµåű×
javascript
HTML
PHP
Api
2022
ASP
CSS
mysql
Slide
jquery
¸ðµâ
°¶·¯¸®
À¥¸ÞÀÏ
ÇöÀçÁ¢¼ÓÀÚ ¸í »õ·Î°íħ
Ŭ¸¯ÇÏ¸é ´Ù¿î·Î´Â µÇ´Â ¾Ö´Ï¸ÞÀÌ¼Ç Download Animation (SVG)
¼Ò½ºÅë°èÁ¤º¸ ¿À·ù½Å°í ¹× ¹®ÀÇ
ÇØÇÇÆÀ
³×ƼÁð
Æ®À§ÅÍ·Î º¸³»±â ÆäÀ̽ººÏÀ¸·Î º¸³»±â
¼Ò½ººÐ·ù ¹öư
´Ù¿î·Îµå Ƚ¼ö 0 ȸ
°£´Ü¼³¸í Ŭ¸¯ÇÏ¸é ´Ù¿î·Î´Â µÇ´Â ¾Ö´Ï¸ÞÀ̼ÇÀ» Àç¹Õ°Ô Ç¥ÇöÇÑ ¼Ò½ºÀÔ´Ï´Ù. ´Ù¾çÇÑ »óȲ¿¡ ÀÀ¿ë °¡´ÉÇÕ´Ï´Ù.
Æò°¡Çϱâ ÈǸ¢ÇÔ ¸Å¿ìÁÁÀ½ ÁÁÀ½ ±¦ÂúÀ½ º¸Åë º°·Î
ȨÆäÀÌÁö¹Ù·Î°¡±â µ¥¸ð ¹Ì¸®º¸±â ½ºÅ©·¦Çϱâ



Ŭ¸¯ÇÏ¸é ´Ù¿î·Î´Â µÇ´Â ¾Ö´Ï¸ÞÀ̼ÇÀ» Àç¹Õ°Ô Ç¥ÇöÇÑ ¼Ò½ºÀÔ´Ï´Ù.

´Ù¾çÇÑ »óȲ¿¡ ÀÀ¿ë °¡´ÉÇÕ´Ï´Ù.
 


HTML ±¸Á¶

<div class="dl-box">

  <svg class="dl-svg" viewBox="0 0 160 160">

    <path class="dl-svg__circle" d="M80,3 a77,77 0 1,0 0,154 a77,77 0 1,0 0,-154 a77,77 0 1,0 0,154 a77,77 0 1,0 0,-154"/>

    <path class="dl-svg__arrow dl-svg__arrow-main" d="M80,47 v66"/>

    <path class="dl-svg__arrow dl-svg__arrow-side" d="M56,85 80,115"/>

    <path class="dl-svg__arrow dl-svg__arrow-side" d="M104,85 80,115"/>

    <path class="dl-svg__rotater" d="M80,3 a77,77 0 0,1 0,154 a77,77 0 0,1 0,-154"/>

    <path class="dl-svg__progress-plc" d="M-77,207 h314"/>

    <path class="dl-svg__triangle" d="M80,3 Q180,10 225,207 h-302"/>

    <path class="dl-svg__triangle-piece" d="M225,207 h15"/>

    <path class="dl-svg__progress" d="M-77,207 h314"/>

    <path class="dl-svg__progress-vert" d="M80,207 80,3"/>

    <path class="dl-svg__checkmark" d="M7,56 l74,52 l44,-56"/>

  </svg>

  <div class="dl-status">

    <p class="dl-status__numbers">0</p>

    <span class="dl-status__perc">%</span>

  </div>

  <div class="particles m--stage-2">

    <div class="particles__p"></div>

    <div class="particles__p"></div>

    <div class="particles__p"></div>

    <div class="particles__p"></div>

    <div class="particles__p"></div>

    <div class="particles__p"></div>

    <div class="particles__p"></div>

    <div class="particles__p"></div>

    <div class="particles__p"></div>

    <div class="particles__p"></div>

  </div>

  <div class="particles m--stage-3">

    <div class="particles__p"></div>

    <div class="particles__p"></div>

    <div class="particles__p"></div>

    <div class="particles__p"></div>

    <div class="particles__p"></div>

    <div class="particles__p"></div>

    <div class="particles__p"></div>

    <div class="particles__p"></div>

    <div class="particles__p"></div>

    <div class="particles__p"></div>

  </div>

  <button type="button" class="dl-reset">Reset</button>

</div>


<a href="https://dribbble.com/shots/2939772--Daily-UI-Download" target="_blank" class="icon-link">

  <img src="http://icons.iconarchive.com/icons/uiconstock/socialmedia/256/Dribbble-icon.png">

</a>

<a href="https://twitter.com/NikolayTalanov" target="_blank" class="icon-link icon-link--twitter">

  <img src="https://cdn1.iconfinder.com/data/icons/logotypes/32/twitter-128.png">

</a>



CSS(SCSS) ¼Ò½º

*, *:before, *:after {

  box-sizing: border-box;

  margin: 0;

  padding: 0;

}


body {

  background: #006cc7;

  font-family: 'Roboto', Helvetica, Arial, sans-serif;

}


$circleSize: 160px;

$dlPad: 20px;

$dlWidth: 320px + $dlPad * 2;

$dlHeight: $circleSize + 50px + $dlPad*2;

$strokeW: 6px;


.dl-box {

  position: absolute;

  left: 50%;

  top: 50%;

  width: $dlWidth;

  height: $dlHeight;

  padding: $dlPad;

  margin-left: $dlWidth/-2;

  margin-top: $dlHeight/-2;

}


.dl-svg {

  overflow: visible;

  display: block;

  width: $circleSize;

  height: $circleSize;

  margin: 0 auto;

  

  &:not(.s--animating) {

    cursor: pointer;

  }

  

  path {

    fill: none;

    stroke-width: $strokeW;

    stroke-linecap: round;

  }

  

  &__circle {

    stroke: #4c99d9;

  }

  

  &__arrow {

    stroke: #fff;

  }

  

  &__rotater {

    stroke: #fff;

    opacity: 0;

  }

  

  &__triangle {

    stroke: #fff;

    opacity: 0;

    

    &-piece {

      stroke: #fff;

      opacity: 0;

    }

  }

  

  &__progress-plc {

    stroke: rgba(#fff, 0.4);

    opacity: 0;

  }

  

  &__progress,

  &__progress-vert,

  &__checkmark {

    stroke: #fff;

    opacity: 0;

  }

}


.dl-status {

  display: flex;

  justify-content: center;

  align-items: flex-end;

  position: absolute;

  left: 0;

  top: 90px;

  width: 100%;

  color: #4c99d9;

  opacity: 0;

  transition: 0.6s;

  transform: scale(0.8);

  pointer-events: none;

  

  &.s--active {

    opacity: 1;

    transform: scale(1);

  }

  
.
.
.


JS ¼Ò½º

(function() {

  function $$(selector, context) {

    var context = context || document;

    var elements = context.querySelectorAll(selector);

    var nodesArr = [].slice.call(elements);

    return nodesArr.length === 1 ? nodesArr[0] : nodesArr;

  };


  var $status = $$('.dl-status');

  var $statusNumbers = $$('.dl-status__numbers');


  var $dlSVG = $$('.dl-svg');


  var $circle = $$('.dl-svg__circle');

  var $arrMain = $$('.dl-svg__arrow-main');

  var $arrSides = $$('.dl-svg__arrow-side');

  var $rotater = $$('.dl-svg__rotater');

  var $tri = $$('.dl-svg__triangle');

  var $triPiece = $$('.dl-svg__triangle-piece');

  var $plc = $$('.dl-svg__progress-plc');

  var $progress = $$('.dl-svg__progress');

  var $prVert = $$('.dl-svg__progress-vert');

  var $check = $$('.dl-svg__checkmark');


  var $resetBtn = $$('.dl-reset');

  var $particles = $$('.particles');

  var $particlesStage2 = $$('.particles.m--stage-2');

  var $particlesStage3 = $$('.particles.m--stage-3');


  var arrInitAT = 0.5;

  var dotFadeAT = 0.1;

  var rtRotationAT = 1.4;

  var triAT = 1.1;

  var rtDelay = arrInitAT + dotFadeAT;

  var triPhase2Delay = triAT * 0.6;


  var progressDelay = 0.2;

  var progressAT = 1;

  var prCollapseAT = 0.5;

  var prMoveAT = 0.4;


  var circleAT = 0.6;


  var checkAT = 0.5;


  function resetDl() {

    $dlSVG.classList.remove('s--animating');

    $resetBtn.classList.remove('s--visible');

    $particles.forEach(function($part) {

      $part.classList.remove('s--active');

    });

.
.
.


ÇØ´ç »çÀÌÆ®·Î À̵¿ÇÏ¿© Àüü ¼Ò½º¸¦ È®ÀÎÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.


³×ƼÁð ÀÇ°ß   ÀÌ¿ëÇϽŠÀÚ·áÀÇ Èı⸦ ÀÚÀ¯·Ó°Ô ÀÛ¼ºÇϼ¼¿ä. (»ó¾÷ÀûÀÎ ±¤°í ¹× µµ¹è¼º ±Û µîÀº »çÀüÅ뺸¾øÀÌ »èÁ¦µÉ ¼ö ÀÖ½À´Ï´Ù.)
³»¿ë ¾ÆÀ̵ð Àǰ߳²±â±â
µî·ÏµÈ ÀǰßÀÌ ¾ø½À´Ï´Ù.
1
À̸§
³»¿ë
:³×¸Â¾Æ¿ä: :È­³ª´Â±º¿ä: :Àá¿Í: :¿ì¿ïÇØ: :À̰ǾƳÄ: :¿ÕÇÏÇÏ: ¿Õ¿ôÀ½~ ³î·¥~
Æò°¡Çϱâ ÈǸ¢ÇÔ ¸Å¿ìÁÁÀ½ ÁÁÀ½ ±¦ÂúÀ½ º¸Åë º°·Î
µµ¹è¹æÁöŰ
 34679565 º¸ÀÌ´Â µµ¹è¹æÁö۸¦ ÀÔ·ÂÇϼ¼¿ä.