这是我的相关代码:
<script>
titles = <?php echo json_encode($graphTitles)?>;
//Loop through the graphs
for (var graphNO = 0; graphNO < titles.length; graphNO++)
{
//CREATE NEW CONTAINER
var container = document.createElement('div');
document.body.appendChild(container);er);
dates = <?php echo json_encode($recivedDates);?>[titles[graphNO]];
//I EXTRACT A FEW MORE ARRAYS THE SAME METHOD
$(function ()
{
$(container).highcharts({
title: {
text: titles[graphNO]
},
xAxis: {
categories: dates
},
series: [{
type: 'column',
color: 'gold',
name: 'Created Issues',
data: createdIssues.map(Number)
},
//MORE COLUMN'S AND SOME SPLINES. IT ALL WORKS AS EXPECTED
});
});
}
</script>我不想发布所有的代码,只想把它弄得乱七八糟,我希望这段代码能做的是:
graphNO的值为2,我认为它会循环两次(它会),为每个循环创建一个容器(它会这样做),然后在它刚刚创建的容器中为它所做的每个循环绘制一个不同的图(但是它只是绘制第二个图)。
我不知道出了什么问题,但是任何关于如何解决这个问题的想法,或者任何关于如何在一个循环中生成多个图的想法,都会有很大的帮助。
而且,这是我创建的第一个站点,所以我已经有一天没有使用javascript、php或html了,所以很抱歉,如果真的很明显,我在上面找不到任何东西。
发布于 2016-01-25 02:58:27
我明白了,经过一天的尝试,网络上复杂的东西都没起作用,我最终想如果我删除这个函数会发生什么,而不是这样:
$(function ()
{
$(container).highcharts({
title: {我只是有:
$(container).highcharts({
title: {一切都很完美。我不知道为什么,可能是因为jquery如何处理函数,我不知道,我甚至不知道我使用的是jquery,直到一个小时前。但是,如果有人想做类似的事情,那就有效了,你可以告诉我原因。
发布于 2017-04-11 21:06:39
斯威克里特·哈纳尔的回答是有效的,因为这个函数不再被写过了。当您将其全部包装在函数中时,该函数将在构建下一个图时覆盖它的self,因此只剩下最后一个图。
Bellow是一种在不删除函数的情况下使用循环并构建多个图的方法,但它的名称却是唯一的。
for(v=0; v < 5; v++){
var container = "#container"+v;
var func_name = "container"+v;
func_name = function () {
$(container).highcharts({
})
}
func_name()
}https://stackoverflow.com/questions/34938338
复制相似问题