JQuery / JsPlumb:切换 "hidden/visible" 带有从隐藏开始的复选框的锚点
JQuery / JsPlumb: toggle "hidden/visible" anchor with checkbox starting from Hidden
我用 JsPlumb 库写了一些东西。
我得到了三个开始使用的元素
`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"});
}
你没有提到你的 endpointOptions 中指定的内容,所以我将继续并建议将你的选项修改为如下内容:["Dot", { radius: 1, cssClass: 'hidden' }]
,其中 hidden 可以是 class display:none;
。您甚至可以为端点类型指定 "Blank" 以使其隐藏(我没有尝试过后者,但在文档中提到了它)。
稍后在连接项目时,您可以选择显示连接的端点
(一种方法是使用 jsPlumb.getEndpoints(element)
,它将为您提供指定元素的端点列表。如果需要检查端点是否有连接,您可以导航到连接属性)。这通常取决于您的实施。
希望对您有所帮助!
P.s.: 您目前使用的是哪个版本的jsPlumb?
我用 JsPlumb 库写了一些东西。
我得到了三个开始使用的元素
`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"});
}
你没有提到你的 endpointOptions 中指定的内容,所以我将继续并建议将你的选项修改为如下内容:["Dot", { radius: 1, cssClass: 'hidden' }]
,其中 hidden 可以是 class display:none;
。您甚至可以为端点类型指定 "Blank" 以使其隐藏(我没有尝试过后者,但在文档中提到了它)。
稍后在连接项目时,您可以选择显示连接的端点
(一种方法是使用 jsPlumb.getEndpoints(element)
,它将为您提供指定元素的端点列表。如果需要检查端点是否有连接,您可以导航到连接属性)。这通常取决于您的实施。
希望对您有所帮助!
P.s.: 您目前使用的是哪个版本的jsPlumb?