2013-07-10 77 views
0

如何包裝一個功能?在javascript中的包裝功能highcharts

我以前曾問過這個問題,但我試圖讓這個問題儘可能簡單。

所以這是我需要包裝代碼:

$(function() { 
$('#container').highcharts({ 
chart: { 
    type: 'bar' 
}, 
title: { 
    text: 'Fruit Consumption' 
}, 
xAxis: { 
    categories: ['Apples', 'Bananas', 'Oranges'] 
}, 
yAxis: { 
    title: { 
     text: 'Fruit eaten' 
    } 
}, 
series: [{ 
    name: 'Jane', 
    data: [1, 0, 4] 
}, { 
    name: 'John', 
    data: [5, 7, 3] 
}] 
}); 
});​ 

格:

<div id="container" style="width:340px; height:270px;"></div> 

有人告訴我,我可以把這個變成一個包裹,然後調用該函數。如何才能做到這一點?

此數據爲虛擬,我的數據來自服務器。我想要的是在代碼後面重新繪製圖表,以便使用RegisterClientScriptBlock刷新數據。

但對於這一點,我首先需要包裝的功能...

我有這個,但得到的錯誤:

Dim someScript As String = "<script language='javascript'>container1_highcharts();</script>" 
    Page.ClientScript.RegisterStartupScript(Me.[GetType](), "onload", someScript) 

錯誤:

Uncaught ReferenceError: container_highcharts is not defined 

回答

1

這就是你需要的:

protected void Page_Load(object sender, EventArgs e){ 
string someScript = "<script language='javascript'>container_highcharts();</script>"; 
Page.ClientScript.RegisterStartupScript(this.GetType(), "onload", someScript); 
} 
0
var container1_highcharts = function() { 
    this.chart = new HighCharts.Chart(options); 
} 
// then call 
var chart = new container1_highcharts(); 

看這裏有些jsfiddle:http://jsfiddle.net/kreeg/gPAJa/