簡體   English   中英

引導窗口崩潰時觸發窗口調整大小

[英]Trigger window resize on bootstrap collapse

我在引導折疊div中放置的c3.js圖表​​存在尺寸調整問題。 類似這個問題 按照答案,每次嘗試加載c3圖表時,我都試圖觸發窗口調整大小,但似乎不起作用。 我知道這是一個基本問題(jQuery無知),但是如何運行$(window).trigger('resize'); 每次我加載圖表或打開面板折疊div時?

的HTML:

<div class="col-sm-4">                  
    <div class="panel-group">
        <div class="panel panel-default">
            <div class="panel-heading">
                <h4 class="panel-title">
                    <a data-toggle="collapse" href="#collapse4"><center>Title</center></a>
                </h4>
            </div>
            <div id="collapse4" class="panel-collapse collapse">
                <div id="chart3"></div>
                <div class="panel-footer"></div>
            </div>
        </div>
    </div>
</div>

js:

$(function () {
    var chart = c3.generate({
        bindto: '#chart3',
        data: {
            columns: [
                ['data1', 30],
                ['data2', 50]
            ],
            type: 'donut',
        }
    });
    $(window).trigger('resize');
});

綁定到.click()事件:

$(document).ready(function() {
  $(".panel-collapse collapse").click(function() {
    $(window).trigger('resize');
  });
});

對於圖表負載,這取決於您如何調用它來生成。 如果c3.generate()是圖形加載函數,則創建另一個包裝函數,該函數同時調用c3.generate()$(window).trigger('resize'); 然后總是用以下方式加載圖表:

function generateAndResizeWindow(options) {
  options.onrendered = function() { $(window).trigger('resize') }; // or whatever function generates your graph
  c3.generate(options);
}

然后致電:

generateAndResizeWindow({
    bindto: '#chart3',
    data: {
        columns: [
            ['data1', 30],
            ['data2', 50]
        ],
        type: 'donut',
    }
});

舉個例子

在代碼后添加這些行。

chart.load({
  done: function() {$(window).trigger('resize');}
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM