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)); 
} 

в существующий график. Эти функции являются динамическими. Они меняются каждый раз, когда я обновляю базу данных. Как я могу это сделать?.

Мне нужен код, чтобы добавить эту функцию для существующих высоких графиков

ответ

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 для laod его всякий раз, когда вы хотите.

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

Вы просто хотите посмотреть обратные вызовы? Если вам не нужны анонимные функции, попробуйте следующее:

function myCallback(chart) { 
    // code 
} 

var options = { 
    chart: { 
     .. 
    }, 

    // more options 

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

$("#container").highcharts(options, callback); 
Смежные вопросы