最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How can I fix the height and width of Google charts when using bootstrap tab? - Stack Overflow

programmeradmin0浏览0评论

I am creating a page containing tab using Twitter bootstrap, and want to add Google charts inside the every tab content. But when I run the app the chart takes different size in width and height though I mentioned width and height in every chart using inline CSS. How can I fix the problem? If any one have any idea please share with me. You can see my code here:

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


<script type="text/javascript" src=""></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=""></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>

<body>    
<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>

Code:

I am creating a page containing tab using Twitter bootstrap, and want to add Google charts inside the every tab content. But when I run the app the chart takes different size in width and height though I mentioned width and height in every chart using inline CSS. How can I fix the problem? If any one have any idea please share with me. You can see my code here: http://www.bootply./ddPRHKy8ey

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


<script type="text/javascript" src="https://www.google./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./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>

<body>    
<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>

Code: http://www.bootply./ddPRHKy8ey

Share Improve this question edited Aug 8, 2019 at 21:16 Brian Tompsett - 汤莱恩 5,89372 gold badges61 silver badges133 bronze badges asked Nov 7, 2014 at 6:36 Priyank DeyPriyank Dey 1,1241 gold badge20 silver badges43 bronze badges 1
  • Possible duplicate of Why are Bootstrap tabs displaying tab-pane divs with incorrect widths when using highcharts? – Brian Tompsett - 汤莱恩 Commented Aug 8, 2019 at 21:17
Add a ment  | 

2 Answers 2

Reset to default 7

Got the solution from ryenus. Thanks to him. Why are Bootstrap tabs displaying tab-pane divs with incorrect widths when using highcharts?

Update

Please check out the updated solution.

Pass width and height as options

        var options = {
            title: 'My Daily Activities',
            is3D: true,
            width: 500,
            height: 300
        };

Demo here

发布评论

评论列表(0)

  1. 暂无评论