2016-09-14 9 views
4

私はjQueryの世界で初めてです。をクリックすると、特定のclassをクリックするとグーグルで割り当てられますが、何か解決策が見つかりません。onclickトリガのサイズ変更、ハイチャート

full-width-boxが、私はresizeをトリガしたいdivに追加されたとき、私は、病気panelの親に動的にfull-width-boxを追加した、Highchartsに取り組んでいます。

は、ここで私が実装されたコードですが、くぼみが解決

// code for highcharts 
 
$(function() { 
 
    $('.highcharts_horizontal_stacked').highcharts({ 
 
     chart: { 
 
      type: 'bar' 
 
     }, 
 
     title: { 
 
      text: 'Stacked bar chart' 
 
     }, 
 
     xAxis: { 
 
      categories: ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas'] 
 
     }, 
 
     yAxis: { 
 
      min: 0, 
 
      title: { 
 
       text: 'Total fruit consumption' 
 
      } 
 
     }, 
 
     legend: { 
 
      reversed: true 
 
     }, 
 
     plotOptions: { 
 
      series: { 
 
       stacking: 'normal' 
 
      } 
 
     }, 
 
     series: [{ 
 
      name: 'John', 
 
      data: [5, 3, 4, 7, 2] 
 
     }, { 
 
      name: 'Jane', 
 
      data: [2, 2, 3, 2, 1] 
 
     }, { 
 
      name: 'Joe', 
 
      data: [3, 4, 4, 2, 5] 
 
     }] 
 
    }); 
 
}); 
 

 

 
// for full width function 
 
$('.full-width').click(function() { 
 
    $(this).closest('[class^="col"]').toggleClass('full-width-box'); 
 
}); 
 

 

 
//function for resize 
 
$(".full-width").click(function(e) { 
 
    e.preventDefault(); 
 
    setInterval(function() { 
 

 
    $(window).resize(function() { 
 
     $('body').load(function(){ 
 
     $(window).trigger('resize'); 
 
     }); 
 
    }) 
 
    }, 1); 
 
});
.full-width-box{ 
 
    width: 100%; 
 
    z-index: 1; 
 
}
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<!-- Highcharts --> 
 
<script src="https://code.highcharts.com/highcharts.js"></script> 
 
<script src="https://code.highcharts.com/modules/exporting.js"></script> 
 

 
<div class="row"> 
 
    <div class="col-xs-6"> 
 
    <div class="panel panel-default "> 
 
     <div class="panel-heading"> 
 
     <h3 class="panel-title">Title</h3> 
 
     <a href="#fullwidth" class="full-width pull-right btn btn-success"> 
 
      <i class="glyphicon glyphicon-resize-full"></i> 
 
     </a> 
 
     </div> 
 
     <div class="panel-body"> 
 
     <div class="highcharts_horizontal_stacked"></div> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</div>

は、ここで私はwindow.dispatchEvent(new Event('resize'))がサイズ変更をトリガーするための方法であることを発見したJsFiddle Link

答えて

3

のget。

$('.full-width').click(function() { 
    $(this).parents('[class^="col"]').toggleClass('full-width-box'); 
    window.dispatchEvent(new Event('resize')); 
}); 

デモhttp://www.codeply.com/go/qY1TSQOZ0r

P.S. - あなたが他のクリック/サイズを変更する機能を必要としない

+0

おかげで充てる....それが働いた... :)ヤッピーを.... –

1

EDIT:更新されたコード

highcharts().reflow();はあなたのためにトリックを行う可能性があります。

$('.full-width').click(function() {  
    $(this).closest('[class^="col"]').toggleClass('full-width-bo‌​x'); 
    $(".highcharts").each(function(index) { 
     $(this).highcharts().reflow(); 
    }); 
}); 

https://jsfiddle.net/remisture/47ghxmc7/5/

+0

これを私は知っているが、私は私のページに多くのチャートをしましたので、私がダウンして書き込むことはできませんすべてのコード....どのように、ありがとう:) –

+0

あなたはすべてのあなたのチャートにクラスを追加し、それらのすべてをリフローすることができます。コードを更新しました。 –

関連する問題