javascript - 如何使用 google chart onclick bootstrap 选项卡按钮修复宽度和高度?

标签 javascript jquery html css twitter-bootstrap

我正在尝试在单击 Bootstrap 选项卡按钮时显示 Google 图表。我能够显示图表,但我在单击选项卡按钮时遇到图表对齐问题。请指导我如何解决这个问题。 我正在使用的 Javascript-

<head>      
    <script src="/assets/jquery-1.10.2.js"></script>    
    <script src="/assets/bootstrap.js"></script>     


<script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable([
          ['Task', 'Hours per Day'],
          ['Work',     11],
          ['Eat',      2],
          ['Commute',  2],
          ['Watch TV', 2],
          ['Sleep',    7]
        ]);

        var options = {
          title: 'My Daily Activities',
          is3D: true,
        };

        var chart = new google.visualization.PieChart(document.getElementById('google_chart1'));
        chart.draw(data, options);
      }
    </script>

    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable([
          ['Task', 'Hours per Day'],
          ['Work',     11],
          ['Eat',      2],
          ['Commute',  2],
          ['Watch TV', 2],
          ['Sleep',    7]
        ]);

        var options = {
          title: 'My Daily Activities',
          is3D: true,
        };

        var chart = new google.visualization.PieChart(document.getElementById('google_chart2'));
        chart.draw(data, options);
      }
    </script>


</head>

正文部分-

<section>
<div class="container">
  <div class="row">
      <div class="col-md-3">
        <div class="well well-lg">
        <ul id="myTab" class="nav nav-pills nav-stacked">
            <li class="active"><a href="#panel_conservative" data-toggle="tab">Side Tab 1</a></li>
            <li><a href="#panel_mconservative" data-toggle="tab">Side Tab 2</a></li>                   
        </ul>
        </div>
      </div>

      <div class="col-md-9">
      <div id="myTabContent" class="tab-content"> 

          <div class="tab-pane fade in active" id="panel_conservative">
              <div class="col-sm-12">
                <div class="panel panel-default">

                  <ul id="myTab1" class="nav nav-pills nav-justified">
                      <li class="active"><a href="#cons18" data-toggle="tab">Tab NO 1</a></li>
                      <li><a href="#cons31" data-toggle="tab">Tab NO 2</a></li>   
                  </ul>

                    <div class="panel-heading">
                        <div id="myTabContent1" class="tab-content">

                            <div class="tab-pane fade in active" id="cons18">
                                <div class="row">                                      
                                  <div class="col-sm-8">
                                    <div class="row pad_right">
              <div id="google_chart1" style="width: 500px;height: 300px;"></div>
                                    </div>
                                  </div>
                                </div>
                            </div>

                            <div class="tab-pane fade" id="cons31">
                                <div class="row">

                                  <div class="col-sm-8">
                                    <div class="row pad_right">               
              <div id="google_chart2" style="width: 500px;height: 300px;"></div>
                                    </div>
                                  </div>
                                </div>
                            </div>

                        </div>
                    </div>

                </div>
              </div>
          </div>

          <div class="tab-pane fade" id="panel_mconservative">
             content of side tab 2                  
          </div>


      </div>

      </div>
  </div>
</div>       
</section>

请检查此链接- http://www.bootply.com/ddPRHKy8ey 在这里点击选项卡 1 图表正确显示并且 div 大小正常。但是在单击 Tab 2 时,Div 大小会变短。我想解决这个问题。它应该像 Tab 1 一样显示。

最佳答案

简单复制自ryenus。 Why are Bootstrap tabs displaying tab-pane divs with incorrect widths when using highcharts?

/* bootstrap hack: fix content width inside hidden tabs */
.tab-content > .tab-pane,
.pill-content > .pill-pane {
display: block;     /* undo display:none          */
height: 0;          /* height:0 is also invisible */ 
overflow-y: hidden; /* no-overflow                */
}
.tab-content > .active,
.pill-content > .active {
height: auto;       /* let the content decide it  */
} /* bootstrap hack end */

关于javascript - 如何使用 google chart onclick bootstrap 选项卡按钮修复宽度和高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26800909/

相关文章:

javascript - 如何使用jquery获取img标签的src

jquery - Opera 浏览器中的下拉样式问题

javascript - 网站php链接末尾添加 "?"是什么意思?

CSS 内容计数器破坏 IE 中的 CSS

Javascript 正则表达式 - 删除除分号外的所有特殊字符

javascript - 如何创建一个具有html标签所有属性的对象?

javascript - 使用开发人员工具跟踪 jQuery 事件绑定(bind)

javascript - 如何制作在 x 轴下方带有附加垂直线的条形图

javascript - 使用 JQuery .val() 提取 HTML 值

html - 我有一个代码,我需要将 "a"标签更改为 "li"。当我这样做时,CSS 动画停止工作