2013-08-30 3 views
1

Я хотел бы показать/скрыть диаграмму серии с анимацией, как исходной, а это означает, что если на этомHighcharts анимации серии на шоу

$(function() { 
      $('#container').highcharts({ 

       series: [{ 
        data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4] 
       }, { 
        data: [129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4, 29.9, 71.5, 106.4] 
       }] 
      }); 


      // the button action 
      var chart = $('#container').highcharts(), 
       $button = $('#button'); 
      $button.click(function() { 
       var series = chart.series[0]; 
       if (series.visible) { 
        series.hide(); 
        $button.html('Show series'); 
       } else { 
        series.show(); 
        $button.html('Hide series'); 
       } 
      }); 
     }); 

http://jsfiddle.net/pbohny/GvkPW/

я нажимаю скрыть/показать, на выставке серия должна анимироваться (складываться слева направо), как и начальная анимация.

Возможно ли это?

ответ

3

Не поддерживается. Вы можете попытаться получить желаемый результат, удаляя и добавляя, что ряд назад, см: http://jsfiddle.net/GvkPW/1/

// the button action 
var flag = true; 
var chart = $('#container').highcharts(), 
    $button = $('#button'); 
$button.click(function() { 
    var series = chart.get('1st'); 
    if (flag) { 
     series.remove(); 
     $button.html('Show series'); 
    } else { 
     chart.addSeries({ 
      id: '1st', 
      data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4] 
     }); 
     $button.html('Hide series'); 
    } 
    flag = !flag; 
}); 
+0

Это прекрасно работает для меня, просто нужно написать немного больше кода. благодаря – lunacafu

Смежные вопросы