Google 页面刷新时加载图表
Google Chart loads on Page Refresh
我的 google 图表工作正常,但我的页面在我第一次触发显示图表时显示为空白。然后,当我刷新页面时,图表和其他一切都显示正常。
我是新手,你能帮我解决这个问题吗?我的代码如下:
我的图表代码:
<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([
['Projects', 'Time_Spent'],
<?php
$sql = 'SELECT * FROM ost_ticket where staff_id = '.$_GET['uid'].'';
$res = db_query($sql);
while($row = db_fetch_array($res)) {
?>
['<?php echo getProjectID($row['ticket_id']) ?>', <?php echo getProjectTime($row['ticket_id']) ?>],
<?PHP } ?>
]);
var options = {
title: '',
legend: {
position: 'labeled',
pieSliceText:"value"
},
pieSliceText: 'label',
width: 350,
height: 400,
chartArea:{left:5,top:20,width:"100%",height:"50%"}
};
new google.visualization.PieChart(
document.getElementById('chart_div')).draw(data, options);
}
</script>
我觉得google.load和google.setOnLoadCallback都调用了jquery中的document.ready方法,调用两次可能会导致HTML空白。试试这个而不是这两行。
var options = {packages: ['corechart'], callback : drawChart};
google.load('visualization', '1', options);
希望有用!
我的 google 图表工作正常,但我的页面在我第一次触发显示图表时显示为空白。然后,当我刷新页面时,图表和其他一切都显示正常。 我是新手,你能帮我解决这个问题吗?我的代码如下:
我的图表代码:
<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([
['Projects', 'Time_Spent'],
<?php
$sql = 'SELECT * FROM ost_ticket where staff_id = '.$_GET['uid'].'';
$res = db_query($sql);
while($row = db_fetch_array($res)) {
?>
['<?php echo getProjectID($row['ticket_id']) ?>', <?php echo getProjectTime($row['ticket_id']) ?>],
<?PHP } ?>
]);
var options = {
title: '',
legend: {
position: 'labeled',
pieSliceText:"value"
},
pieSliceText: 'label',
width: 350,
height: 400,
chartArea:{left:5,top:20,width:"100%",height:"50%"}
};
new google.visualization.PieChart(
document.getElementById('chart_div')).draw(data, options);
}
</script>
我觉得google.load和google.setOnLoadCallback都调用了jquery中的document.ready方法,调用两次可能会导致HTML空白。试试这个而不是这两行。
var options = {packages: ['corechart'], callback : drawChart};
google.load('visualization', '1', options);
希望有用!