Как изменить свойства элемента в JSXGraph?

Предположим, у меня есть следующий кусок кода:

var brd2 = JXG.JSXGraph.initBoard('box2', {boundingbox: [-8.75, 2.5, 8.75, -2.5]});
var ax2 = brd2.create('axis', [[0,0],[1,0]]);

Как я могу изменить вторую точку оси? Что-то вроде ax2.setSecondPoint([2,0])?

В общем, как я могу установить свойство любого элемента?

Спасибо.

1 ответ

Решение

Ось имеет два свойства, названия которых не требуют пояснений: точка1 и точка2. Вы можете использовать метод setPosition на любом из них, например

ax2.point2.setPosition(JXG.COORDS_BY_USER,[2,0])

Теперь есть одна загвоздка: вы не увидите это изменение на графике, если не установите needsRegularUpdate свойство объекта оси true, Наконец, чтобы обновить график, вы должны выполнить fullUpdate() Метод на доске переменная. Все выглядит так:

var brd2 = JXG.JSXGraph.initBoard('box2', {boundingbox: [-8.75, 2.5, 8.75, -2.5]});
var ax2 = brd2.create('axis', [[0,0],[1,0]],{needsRegularUpdate:true});

ax2.point2.setPosition(JXG.COORDS_BY_USER,[2,0]);
brd2.fullUpdate();


Рекомендации:

http://jsxgraph.uni-bayreuth.de/docs/symbols/JXG.Point.html

http://jsxgraph.uni-bayreuth.de/wiki/index.php/Options (поиск "специальных параметров оси")


Теперь, чтобы изменить свойства, такие как fixed, visibleи т. д. вы должны использовать setAttribute метод (setProperty устарела). Пример:

// Set property directly on creation of an element using the attributes object parameter
var board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 5, 5, 1]};
var p = board.create('point', [2, 2], {visible: false});

// Now make this point visible and fixed:
p.setAttribute({
    fixed: true,
    visible: true
});

Источник: http://jsxgraph.uni-bayreuth.de/docs/symbols/JXG.GeometryElement.html


Последняя, ​​но не менее важная формула:

a + b = c

где:
a = использование JavaScript-инструментов отладки в браузерах для исследования свойств объекта
b = проверка документации на продукты, которые вы используете
с = успех:)

Другие вопросы по тегам