2014-01-17 2 views
0

나는HighCharts - 추가 동적 새로운 기능

function(chart) { // on complete 

chart.renderer.path(['M', 300, 0, 'L', 300, 300]) 
    .attr({ 
     'stroke-width': 2, 
     stroke: 'red' 
    }) 
    .add(); 

chart.renderer.path(['M', 0, 150, 'L', 500, 150]) 
    .attr({ 
     'stroke-width': 2, 
     stroke: 'red' 
    }) 
    .add(); 

} 

또는

function(chart) { // on complete 
    var textX = chart.plotLeft + (chart.plotWidth * 0.5); 
    var textY = chart.plotTop + (chart.plotHeight * 0.5); 

    var span = '<span id="pieChartInfoText" style="position:absolute; text-align:center;">'; 
    span += '<span style="font-size: 32px">Upper</span><br>'; 
    span += '<span style="font-size: 16px">Lower</span>'; 
    span += '</span>'; 

    $("#addText").append(span); 
    span = $('#pieChartInfoText'); 
    span.css('left', textX + (span.width() * -0.5)); 
    span.css('top', textY + (span.height() * -0.5)); 
} 

기존 차트에 새로운 기능을 추가해야합니다. 이 함수는 동적입니다. 그들은 데이터베이스를 업데이트 할 때마다 변경됩니다. 내가 어떻게 할 수 있니?.

나는 당신은 당신이 원하는 때마다 그것을 laod하는 getScript를 사용 후 별도의 파일에 스크립트를 넣을 수 있습니다 기존의 높은 차트

답변

0

답변 해 주셔서 감사합니다. 나는 대답을 얻었다.

//Eg code : 

var customFunc = function(chart , code) { 
return new Function("chart" , code)(chart); 
} 

// load chart new Function to chart 
function getChartFunction(chartObj) { 

if(newFunctionCode){ 

    customFunc(chartObj , newFunctionCode); 
    } 
} 

// new newFunctionCode eg: 
chart.renderer.path(['M', 300, 0, 'L', 300, 300]) .attr({ 'stroke-width': 2, stroke: 'red' }).add(); 
chart.renderer.path(['M', 0, 150, 'L', 500, 150]) .attr({ 'stroke-width': 2, stroke: 'red' }).add(); 
0

에이 기능을 추가하는 코드가 필요합니다.

$.getScript("jscodefilr.js", function(){ 
alert("Running jscodefilr.js"); 
}); 
0

콜백을 응시하고 싶습니까? 익명 기능을 사용할 필요가없는 경우 다음을 시도해보십시오.

function myCallback(chart) { 
    // code 
} 

var options = { 
    chart: { 
     .. 
    }, 

    // more options 

    series: [{ 
     data: [ .. ] 
    }] 
} 

$("#container").highcharts(options, callback);