我在图表上添加了标签和其他图形,但我想随意删除它们。
例如;在按钮中我用
创建一个圆圈chart.rendered.circle(100,100,10).attr ({
fill: 'red',
stroke: 'black',
'stroke-width': 1
)}.add();
现在我想在另一个按钮中删除它;但是我无法在API文档中看到你是如何做到这一点的。 有一个destroy(),但你怎么引用那个圈子?我在圆圈对象中看不到ID属性;所以我不能像对待RemovePlotLine()那样解决它。
我对标签也有同样的问题;如何在创建项目后实际删除项目?
编辑:
找到一种方法,这有点像黑客:我在按钮代码之外创建了一个变量圈;我使用add()后立即隐藏它。然后我在按钮中使用show()和hide()。
var mySuperDot= chart.rendered.circle(100,100,10).attr ({
fill: 'red',
stroke: 'black',
'stroke-width': 1
)}.add()
.hide();
按钮中的;显示或隐藏:
mySuperDot.show();
mySuperDot.hide();
问题在于这意味着添加一堆变量,而我试图将所有内容放在执行显示/隐藏功能的按钮内(我知道这不是便携式和良好的OOP设计,我正在探索各种选项)。
有更好的方法吗?
第二次编辑:
我是新手,无法让JSFiddle工作:(这就是我所做的:
在网页上添加一个按钮,将其命名为show(无法在此处粘贴html,因为网站会对其进行解析)
添加标签代码和按钮点击代码:
$按钮= $('#节目&#39); $ button.click(函数(){
var extremes = chart.yAxis [0] .getExtremes();
chart.renderer.label(
'最大价值:' + extremes.dataMax +'
' +
'最低价值:' + extremes.dataMax +'
' +
来自目标的达美:' +'
',
1050,
10
)
.attr({fill:' grey',zIndex:8})
。新增();
}
如果我想使用按钮来切换该标签,我无法引用该标签,并将其删除。 如果我在点击代码之外将其声明为变量,则无法获取getExtremes的值,我可以使用show / hide删除标签。
答案 0 :(得分:0)
尝试这样的事情:
$button = $('#show');
var label;
$button.click(function () {
var extremes = chart.yAxis[0].getExtremes();
label = chart.renderer.label('Max Value: ' + extremes.dataMax + '
' + 'Min Value: ' + extremes.dataMax + '
' + 'Delta from Goal: ' + '
', 1050, 10).attr({
fill: 'grey',
zIndex: 8
}).add();
}
现在您已引用label
,因此您可以随时拨打电话label.hide()/label.show()
。