通过 JSXGraph 中的复选框可见的元素:更改其他参数?

问题描述

假设您在 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

https://jsfiddle.net/1u7geLar/

现场观看

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...