问题描述
假设您在 JSXGraph board
中添加了以下元素:
var checkBox1 = board.create('checkBox',[1,0.5,'Click me']);
var p = board.create('point',0],{
visible: function() {return checkBox1.Value();},label:{offset:[15,15]}
});
为什么 visible
中函数的存在会改变 label
中给定的值? (通过注释 visible...
行,您会注意到不同之处。)
解决方法
是的,确实使用函数作为属性 visible
的值似乎对标签的位置有影响。但问题更复杂:
标签属性anchorY
的默认值为middle
,即offset
属性设置为[0,0]
,标签在点{{1}旁边垂直居中}.
但是,为了能够将标签垂直居中放置,JSXGraph 必须知道标签文本框的大小。不幸的是,如果标签是使用 p
创建的,则无法确定文本大小(目前)。
简而言之,问题在于点是用 visible:false
创建的。
如果您的代码是
visible:false
标签位置符合预期。
一种可能的解决方法是为 var checkbox1 = board.create('checkbox',[1,0.5,'Click me']);
var p = board.create('point',0],{
visible: function() {return !checkbox1.Value();},label:{offset:[15,15]}
});
使用不同的值,例如:
anchorY
现场观看