twitter-bootstrap – Google Charts和Twitter Bootstrap标签

前端之家收集整理的这篇文章主要介绍了twitter-bootstrap – Google Charts和Twitter Bootstrap标签前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Twitter Bootstrap框架在网页中通过Google Chart Tools创建图表.显示了三种类型的图表 – 饼图,折线图和柱形图,每个图表都在单独的选项卡中.图表数据通过Ajax接收.

通过Ajax接收数据后,图表立即显示正常.但是,如果我移动到另一个选项卡,即另一个图表,并返回到第一个,图表中的标签将被错误地重新对齐.

此处包括在更改标签之前和之后显示问题的图像:

线图和柱形图也会出现此问题.

但是,如果我更改窗口然后返回,或者如果我隐藏然后重新显示图表,则不会出现问题.仅当我更改选项卡时才会发生.

标签标记如下:

<div class="charts-div" style="text-align: center">
            <ul class="nav nav-tabs">
                <li class="active"><a href="#tab-pie" data-toggle="tab">Pie</a></li>
                <li><a href="#tab-line" data-toggle="tab">Line</a></li>
                <li><a href="#tab-column" data-toggle="tab">Columns</a></li>
            </ul>
            <div class="tab-content">
                <div class="tab-pane active" id="tab-pie">
                    <div class="chart pie-chart" id="pie-prt"></div>
                </div>
                <div class="tab-pane" id="tab-line">
                    <div class="chart line-chart" id="line-prt"></div>
                </div>
                <div class="tab-pane" id="tab-column">
                    <div class="chart column-chart" id="column-prt"></div>
                </div>
            </div>

    </div>

检查Chrome 22,IE9和Firefox 12.结果是一样的.在我的末尾没有编写额外的代码/事件来进行标签更改或标签焦点事件.

解决方法

正如mohitp所指出的那样,davidkonrad的解决方案存在一些缺点.如果您仍然希望图表在绘制后保持功能(即工具提示),那么您将不得不使用Javascript重新绘制图表.

鉴于大卫的例子(减去虚位移代码),只需将图表变量与其选项&数据表完整地保存到全局范围并再次调用draw方法,您可以在此处看到此示例:redraw-google-chart

使用David的示例,一旦在全局范围内获得了图表和图表信息,就需要将以下内容绑定到选项卡的显示事件,如下所示:

$('a[data-toggle="tab"]').on('shown',function (e) {
    chart.draw(data,options);
  })

在我自己的应用程序中,我根据服务器端json请求绘制我的图表&有些情况下我可能在一个页面上有很多图表,所以我添加了我的图表和图表.将信息绘制到全局范围的数组,可以根据需要多次重新处理客户端.

猜你在找的Bootstrap相关文章