0

変えようとしている

var brd2 = JXG.JSXGraph.initBoard('box', {boundingbox: [-8.75, 2.5, 8.75, -2.5]});

なので

var brd2 = JXG.JSXGraph.initBoard(this.$('#box'), {boundingbox: [-8.75, 2.5, 8.75, -2.5]});

動的要素はバックボーン ビュー内で作成されるため、要素ごとに「box」という ID を持つ JSXGraph を初期化する必要があります。

4

1 に答える 1

0

次のハックを使用すると、ID の代わりにオブジェクトを JSXGraph に渡すことができます。まず、ID「ダミー」などの非表示の div が必要です。次に、ボードはこのダミー ID で初期化され、後で修正する必要があります。さらに仮定しましょう

var board = JXG.JSXGraph.initBoard('dummy', {axis:false,
    boundingbox: [-10,30,10,-10], keepaspectratio:false});

var obj = document.getElementById('box'); // or this.$('#box')

board.removeEventHandlers();
board.container = 'box';
board.containerObj = obj;
//
// Supply the dimensions of the box
board.renderer = new JXG.SVGRenderer(obj, {width: 800, height: 800});
board.setBoundingBox([-10,30,10,-10], false);
board.addEventHandlers();

initBoard() でaxis:trueまたはgrid:trueを指定しても機能しないことに注意してください。

お役に立てば幸いです、アルフレッド

于 2015-03-10T11:27:39.987 に答える