1

这是一个初学者的问题。当我使用board.create('polygon',[[0,0],[0,1],[1,1],[1,0]])时,JSXgraph 创建一个顶点和边界线可见的多边形。我可以用 隐藏边框board.create('polygon',[[0,0],[0,1],[1,1],[1,0]],{withLines: false}),但我不知道如何隐藏顶点。我在手册中看到,可以更改顶点的属性,但我不知道如何做到这一点的语法。我可以通过将顶点分别定义为点并在多边形的定义中使用点名称来解决问题,但我更愿意通过向多边形的属性列表中添加一些东西来实现相同的目的。任何帮助,将不胜感激。

4

1 回答 1

3

基本上有两种可能:

  • 直接设置顶点的可见性

     var board = JXG.JSXGraph.initBoard("jxgbox", {
                boundingbox: [-5, 5, 5, -5],
                axis: false
            });
      var pol = board.create('polygon',[[0,0],[0,1],[1,1],[1,0]], 
                  {vertices: {visible:false}});
.jxgbox {
    /* for IE 7 */
    position: relative;
    overflow: hidden;
    background-color: #ffffff;
    border-style: solid;
    border-width: 1px;
    border-color: #356AA0;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -ms-touch-action: none;
}

.JXGtext {
    /* May produce artefacts in IE. Solution: setting a color explicitly. */
    background-color: transparent;
    font-family: Arial, Helvetica, Geneva, sans-serif;
    padding: 0;
    margin: 0;
}

.JXGinfobox {
    border-style: none;
    border-width: 1px;
    border-color: black;
}
<script src="//cdnjs.cloudflare.com/ajax/libs/jsxgraph/0.99.5/jsxgraphcore.js"></script>
<div id="jxgbox" class="jxgbox" style="width:600px; height:600px;"></div>

  • 稍后设置可见性:
var pol = board.create('polygon',[[0,0],[0,1],[1,1],[1,0]], 
             {vertices:  {visible:true}});
for (i = 0; i < pol.vertices.length - 1; i++) {
    pol.vertices[i].setAttribute({visible: false});
}
于 2017-06-13T07:06:50.643 回答