Skip to content Skip to sidebar Skip to footer

Chart.js Pie Animation, Play One Time, When At Certain Position In Page Via Vertical Scroll

I have a simple pie chart, that animates on load out of the box from chart.js -- I am trying to allow the animation to que via a certain scroll point in a long vertical webpage --

Solution 1:

If anyone is interested -- I achieved my goal with this plugin. Appear.js

<scriptsrc="http://rawgit.com/morr/jquery.appear/master/jquery.appear.js"></script>

__

/**
 * Highcharts plugin to defer initial series animation until the element has appeared. Requieres
 * jQuery.appear.
 */
(function (H) {
    function deferAnimate (proceed, init) {
        var series = this, 
            $renderTo = $(this.chart.container.parentNode);

        // Prevent pre-rendering without animationif (init) {
            series.group.hide();
        }

        // Prepare for animationif (init) {
            $renderTo.appear(); // initialize appear plugin
            proceed.call(this, init);

        // It is appeared, run animation
        } elseif ($renderTo.is(':appeared')) {
            proceed.call(series);
            series.group.show();

        // It is not appeared, halt animation until appear
        } else  {
            $renderTo.on('appear', function () {
                if (!series.animated) { 
                    proceed.call(series);
                    series.group.show();
                    series.animated = true;
                }
            });
        }


    };

    H.wrap(H.Series.prototype, 'animate', deferAnimate);
    H.wrap(H.seriesTypes.column.prototype, 'animate', deferAnimate);
    H.wrap(H.seriesTypes.pie.prototype, 'animate', deferAnimate);

}(Highcharts));

Post a Comment for "Chart.js Pie Animation, Play One Time, When At Certain Position In Page Via Vertical Scroll"