| 
227 | 227 |                         if (index > 0) {  | 
228 | 228 |                             circleRadius = circleRadius + 62.5;  | 
229 | 229 |                             currentCalculateFill = (circleRadius / 100 * percent);  | 
230 |  | - | 
231 |  | -                            animateCircle(currentCircle, currentCalculateFill);  | 
232 | 230 |                         }  | 
 | 231 | + | 
 | 232 | +                        animateCircle(currentCircle, currentCalculateFill, circleRadius, percent);  | 
233 | 233 |                     }  | 
234 | 234 |                 } else {  | 
235 |  | -                    animateCircle(currentCircle, currentCalculateFill);  | 
 | 235 | +                    animateCircle(currentCircle, currentCalculateFill, 360, percent);  | 
236 | 236 |                 }  | 
237 | 237 |             }  | 
238 | 238 | 
 
  | 
239 |  | -            function animateCircle(currentCircle, currentCalculateFill) {  | 
 | 239 | +            function animateCircle(currentCircle, currentCalculateFill, circleRadius, percent) {  | 
240 | 240 |                 var timer = window.setInterval(function () {  | 
241 | 241 |                     if ((angle) >= currentCalculateFill) {  | 
242 | 242 |                         window.clearInterval(timer);  | 
 | 
249 | 249 |                         summary += oneStep;  | 
250 | 250 |                     }  | 
251 | 251 |                     if (settings.halfCircle) {  | 
252 |  | -                        if (angle * 2 / 3.6 >= percent && last === 1) {  | 
253 |  | -                            angle = (3.6 * percent) / 2  | 
 | 252 | +                        if (angle * 2 / (circleRadius / 100) >= percent && last === 1) {  | 
 | 253 | +                            angle = ((circleRadius / 100) * percent) / 2  | 
254 | 254 |                         }  | 
255 | 255 |                     } else {  | 
256 |  | -                        if (angle / 3.6 >= percent && last === 1) {  | 
257 |  | -                            angle = 3.6 * percent;  | 
 | 256 | +                        if (angle / (circleRadius / 100) >= percent && last === 1) {  | 
 | 257 | +                            angle = (circleRadius / 100) * percent;  | 
258 | 258 |                         }  | 
259 | 259 |                     }  | 
260 | 260 | 
 
  | 
 | 
264 | 264 | 
 
  | 
265 | 265 |                     if (settings.replacePercentageByText === null) {  | 
266 | 266 |                         if (settings.halfCircle) {  | 
267 |  | -                            text = parseFloat((100 * angle / 360) * 2);  | 
 | 267 | +                            text = parseFloat((100 * angle / circleRadius) * 2);  | 
268 | 268 |                         } else {  | 
269 |  | -                            text = parseFloat((100 * angle / 360));  | 
 | 269 | +                            text = parseFloat((100 * angle / circleRadius));  | 
270 | 270 |                         }  | 
271 | 271 |                         text = text.toFixed(settings.decimals);  | 
272 | 272 |                         if (!settings.alwaysDecimals && (percent === 0 || (percent > 1 && last !== 1))) {  | 
 | 
305 | 305 |                             if (settings.halfCircle) {  | 
306 | 306 |                                 key /= 2  | 
307 | 307 |                             }  | 
308 |  | -                            if (angle >= key * 3.6) {  | 
 | 308 | +                            if (angle >= key * (circleRadius / 100)) {  | 
309 | 309 |                                 currentCircle.css({  | 
310 | 310 |                                     stroke: color,  | 
311 | 311 |                                     transition: 'stroke 0.1s linear'  | 
 | 
0 commit comments