Articles in this section

How to animate the ranges of circular gauge

You can animate the ranges of circular gauge in the renderComplete method. You can refresh the start and end values of the gauge range in the set interval method.

Follow the given steps to animate the ranges of circular gauge:

Step 1: Create a circular gauge with some ranges and enable the animation for gauge.

$("#gauge").ejCircularGauge({

                backgroundColor: "#f0f0f0",

    width: 190,

                height: 76,

    radius: 82,

                frame: {

                    frameType: 'halfcircle',

                    halfCircleFrameStartAngle: 180, halfCircleFrameEndAngle: 360

                },

                animate: true,

                scales: [{

                    showRanges: true,

                    startAngle: 180,

                    sweepAngle: 180,

                    radius: 92,

                    showScaleBar: false, size: 1, maximum: 100,

                    majorIntervalValue: 20, minorIntervalValue: 10,

                    ranges: [{

                        distanceFromScale: 0,

                        startValue: 0,

                        endValue: 0,

                        backgroundColor: "rgba(54,158,99,1)",

                        border:{

                            color: "rgba(54,158,99,1)"

                        },

                        size: 20

                    },

                    {

                        distanceFromScale: 0,

                        startValue:0,

                        endValue: 0,

                        backgroundColor: "rgba(54,158,99,0.3)",

                        border:{

                            color: "rgba(54,158,99,0.3)"

                        },

                        size: 20

                    }]

                }]

            }); 

 

Step 2: In the renderComplete method, refresh the start end values of range using the set interval method.

         

$("#gauge").ejCircularGauge({

   renderComplete:"animation",

});

 

  function animation(sender)

 {

  var rangeEndValue1 = 50, rangeEndValue2 = 100;

  setInterval(function()

  {    

  if(sender.model.scales[0].ranges[0].endValue < rangeEndValue1)

             sender.model.scales[0].ranges[0].endValue += 5;

  else

          {

     sender.model.scales[0].ranges[1].startValue = rangeEndValue1;

     if(sender.model.scales[0].ranges[1].endValue < sender.model.scales[0].ranges[0].endValue)

        sender.model.scales[0].ranges[1].endValue = rangeEndValue1;

        if(sender.model.scales[0].ranges[1].endValue < rangeEndValue2)

            sender.model.scales[0].ranges[1].endValue += 5;

           }  

   var gauge = $("#gauge").data("ejCircularGauge");

   gauge.redraw("scale");         

  },100); 

 }

 

Sample link: https://jsplayground.syncfusion.com/wgm1xhkl

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Access denied
Access denied