我用JsPlumb Library写了一些东西。
我有三个元素开始使用
`display:none;`
然后我使用典型的Jquery代码使它们出现标记复选框:
input type="checkbox" id="nameCB" name="nameCB" value="on"
$('#nameCB').click(function(){
this.checked?$('#elementID').show(1000):$('#elementID').hide(1000);
我的问题是,如果我为其中一个元素设置锚点:
jsPlumb.addEndpoint('elementID', {anchor:"BottomCenter" }, endpointOptions );
锚(在默认情况下是灰色圆圈)始终可见。 我希望只有当它连接的元素可见时才能看到它。
更新:
I solved creating a connection only when the checkbox is flagged an detaching it otherwise:
$('#ckFI').click(function(){
this.checked?$('#firenze').show(1000):$('#BBB').hide(1000);
this.checked?apparizione():scomparsa();
});
function apparizione() {
jsPlumb.connect({
source:"AAA",
target:"BBB",
anchors:["Top", "Bottom" ],
});
}
function scomparsa() {
jsPlumb.detach({source:"AAA", target:"BBB"});
}
答案 0 :(得分:1)
您没有提及您的endpointOptions中指定的内容,因此我们会继续并建议您将选项修改为以下内容:["Dot", { radius: 1, cssClass: 'hidden' }]
,其中隐藏的内容可以是{ {1}}。你甚至可以指定"空白"对于端点类型,为了保持隐藏(我没有尝试过后者,但在文档中提到)。
稍后当项目连接时,您可以选择显示已连接的端点
(一种方法是使用display:none;
,它将为您提供指定元素的端点列表。如果需要检查端点是否有连接,可以导航到连接属性)。这通常取决于您的实施。
希望它有所帮助!
P.s。:您目前使用的是哪个版本的jsPlumb?