animate-circle.js
1 lines
| 1 | window.animateCircle=function(e){var t=e.percentage,i=void 0===t?100:t,o=e.onScroll,n=void 0!==o&&o,r=e.speed,d=void 0===r?1:r,a=e.element,l=e.size,c=void 0===l?50:l,h=e.backgroundClr,s=void 0===h?"white":h,v=e.color,g=void 0===v?"blue":v,u=e.strokeWidth,w=void 0===u?5:u,f=Math.ceil(document.body.scrollHeight-window.innerHeight);if(a){var m=a,k=m.getContext("2d"),b=2*c+w,M=b,P=b/2,p=M/2;m.width=b,m.height=M;var y=function(){var e=n?Math.floor(window.pageYOffset/f*100):i>100?100:i+d;k.clearRect(0,0,b,M),k.beginPath(),k.lineWidth=w,k.arc(P,p,c,0,2*Math.PI),k.strokeStyle=s,k.stroke(),function(e){k.beginPath(),k.lineWidth=w,k.strokeStyle=g,k.arc(P,p,c,0,2*Math.PI*e/100),k.stroke()}(e),(!n||e<i)&&requestAnimationFrame(y)};n?document.addEventListener("scroll",y):y()}else console.error("Invalid element:",a)}; |