在jsxgraph中,我想在两点之间画一条线,如果第一个点在另一个点的左侧,则该点是实线,否则以虚线表示。我希望在用鼠标移动第一个点时,线条的外观能够动态变化。
我尝试了以下方法
var board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-7, 5, 12, -5], axis:true, keepAspectRatio:true});
var p1 = board.create('point', [-1, 0]);
var p2 = board.create('point', [0, 0]);
var s = board.create('segment', [p1, p2]);
if (p1.XEval()>0) {s.setProperty({dash:2});}
和
var board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-7, 5, 12, -5], axis:true, keepAspectRatio:true});
var p1 = board.create('point', [-1, 0]);
var p2 = board.create('point', [0, 0]);
var s = board.create('segment', [p1, p2], {function(){if (p1.XEval()>0) {return 'dash:2';}}});
但是它们不起作用(行始终是实线)。
谢谢您的提示!
答案 0 :(得分:0)
最快的方法是
var board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-5, 5, 5, -5], axis:true});
var p1 = board.create('point', [-1, 1]);
var p2 = board.create('point', [0, 1]);
var s = board.create('segment', [p1, p2], {
dash: function() { return (p1.X() < p2.X()) ? 0 : 1 }
});
JSXGraph中大多数属性的值都可以是返回适当值的函数。