目前我正在试图把一个Highcharts图的Highslide弹出的内侧(Highslide弹出本身自带了现有Highcharts线图)。 基本上,我希望有人能够点击折线图的一个点,并有一个包含与该数据点的详细信息附加图表一Highslides弹出窗口。
下面的代码工作 - 一次。 用户点击一个点后,然后关闭Highslide弹出式视窗,在Highcharts图表不再在Highslide弹出式视窗显示,如果你对点再次单击(载于“砖”的div并继续出现数据,不过)。
这里发生了什么事? 为什么图表只显示了当你第一次点击的点,但没有任何后续的点击?
PS:如果有折线图的多个点,点击每个点一次将正确显示该数据点的附加图表。 但是,如果你再次关闭Highslide弹出式视窗和点击来看,它不会显示Highcharts图表。
注:在中,.done调用这两个函数创建为Highslide弹出的Highcharts图
代码(内部系列为现有Highcharts线图):
click: function ()
{
window.Task_ID = this.Task_ID;
window.Task_Record = this.Task_Record;
hs.htmlExpand(null,
{
pageOrigin:
{
x: this.pageX,
y: this.pageY
},
headingText: "<p style='margin: 0 auto;'> Task: " + this.Task_ID + " for " + this.Company + "</p>",
maincontentText: "<p class='tile'></p>" + "<div class='charts'><p class = 'studentTaskChart' id='studentTaskChart" + this.Task_ID + "'></p>" + "<p class = 'businessTaskChart' id='businessTaskChart" + this.Task_ID + "'></p></div>",
width: 700,
height: 700
}),
hs.Expander.prototype.onAfterExpand(null, {
maincontentText:
$.ajax
({
type: "post",
url: "TrackRecord_Beta/practice.php",
data:
{
"timestamp" : this.x
},
success: function(result)
{
$('.tile').html(result);
}
})
.done(function()
{
createStudentTaskChart();
createBusinessTaskChart();
}),
})
}