我有一頁 HTML,其中一部分是:
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(Social);
function Social() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Name');
data.addColumn('number', 'Errors');
data.addRows([
['bla', 53],
['bla', 5]
]);
var options = {title:'Social',
width:600,
height:200,
animation:{
"startup": true,
duration: 1500,
easing: 'out'}
};
var chart = new google.visualization.ColumnChart(document.getElementById('Social'));
chart.draw(data, options);}
</script>
加載此頁面后,它使用 google 很好地顯示 ColumnChart 中的行。
如果我將以“var chart”開頭的行更改為:
var chart = new google.visualization.BarChart(document.getElementById('Social'));
html 將顯示條形圖。
我想創建一個 javascript 按鈕,它將 html 中的文本從 ColumnChart 替換為 BarChart 并重新加載頁面,例如:
function myFunction() {
document.body.innerHTML = document.body.innerHTML.replace("ColumnChart", "BarChart");
location.reload();
}
但這會使用初始值重新加載頁面。如果我不添加重新加載,我當然看不到任何區別。
我怎樣才能做到這一點?
uj5u.com熱心網友回復:
無法進行更改并重新加載頁面并保留更改,因為GET請求將從服務器重新加載頁面。相反,您想注入一個腳本并運行它,以便更新現有頁面,您可以嘗試在頁面加載后運行它以覆寫ColumnChart:
function socialBarChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Name');
data.addColumn('number', 'Errors');
data.addRows([
['bla', 53],
['bla', 5]
]);
var options = {
title:'Social',
width: 600,
height: 200,
animation: {
"startup": true,
duration: 1500,
easing: 'out'
}
};
var chart = new google.visualization.BarChart(document.getElementById('Social'));
chart.draw(data, options);
}
// Then call this :
socialBarChart()
最佳做法是使用帶有小寫首字符的 camelCase 來命名您的函式,否則,它看起來像一個類建構式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/421915.html
標籤:
上一篇:在C字串中添加字符填充
