JQuery / JsPlumb:使用从Hidden开始的复选框切换“hidden / visible”锚点

时间:2015-01-30 17:13:58

标签: javascript jquery checkbox show-hide jsplumb

我用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"});
}

1 个答案:

答案 0 :(得分:1)

您没有提及您的endpointOptions中指定的内容,因此我们会继续并建议您将选项修改为以下内容:["Dot", { radius: 1, cssClass: 'hidden' }],其中隐藏的内容可以是{ {1}}。你甚至可以指定"空白"对于端点类型,为了保持隐藏(我没有尝试过后者,但在文档中提到)。

稍后当项目连接时,您可以选择显示已连接的端点 (一种方法是使用display:none;,它将为您提供指定元素的端点列表。如果需要检查端点是否有连接,可以导航到连接属性)。这通常取决于您的实施。

希望它有所帮助!

P.s。:您目前使用的是哪个版本的jsPlumb?