我创建了一个简单的用户界面,用户可以从工具箱中拖动元素并将它们放在画布上,然后将它们相互连接起来。但是当我尝试在给每个连接点(元素左角上的白色方块),唯一ID之后建立连接时,连接线从画布中的其他位置开始,并且不会如下所示连接。很快当我松开鼠标时,连接线会消失。
这是我的JS函数,我删除元素
function dropCompleteElement(newAgent,i,e,kind)
{
$(droppedElement).draggable({containment: "container"});
var finalElement = newAgent;
r++; q++;
if(kind=="import")
{
var connection = $('<div>').attr('id', i + '-import').addClass('connection');
}
else if (kind=="export")
{
var connection = $('<div>').attr('id', i + '-export').addClass('connection');
}
else
{
var connection = $('<div>').attr('id', i + '-defined').addClass('connection');
}
finalElement.css({
'top': e.pageY,
'left': e.pageX
});
finalElement.append(connection);
$('#container').append(finalElement);
jsPlumb.draggable(finalElement, {
containment: 'parent'
});
jsPlumb.makeTarget(connection, {
anchor: 'Continuous'
});
jsPlumb.makeSource(connection, {
anchor: 'Continuous'
});
$("#container").removeClass("disabledbutton");
$("#toolbox").removeClass("disabledbutton");
var myNode = document.getElementById("lot");
var fc = myNode.firstChild;
while( fc ) {
myNode.removeChild( fc );
fc = myNode.firstChild;
}
$(".toolbox-titlex").hide();
$(".panel").hide();
}
答案 0 :(得分:0)
对与删除元素相关的CSS的简单更改完全不同。但我想弄清楚这种变化究竟是如何影响连接器的行为的,只需将它们附加到已经存在的jsPlumb drop元素即可。到目前为止,我最好的猜测是z-index属性。所以我想在这里分享一下,并鼓励在这方面做出进一步的答案。
<强> CSS 强>
.streamdrop {
border: 1px solid #346789;
box-shadow: 2px 2px 19px #aaa;
-o-box-shadow: 2px 2px 19px #aaa;
-webkit-box-shadow: 2px 2px 19px #aaa;
-moz-box-shadow: 2px 2px 19px #aaa;
-moz-border-radius: 0.5em;
border-radius: 0.5em;
opacity: 0.8;
width: 130px;
height: 72px;
line-height: 80px;
cursor: pointer;
text-align: center;
z-index: 20;
position: absolute;
background-color: #eeeeef;
color: black;
font-family: helvetica, sans-serif;
padding: 0.5em;
font-size: 0.9em;
-webkit-transition: -webkit-box-shadow 0.15s ease-in;
-moz-transition: -moz-box-shadow 0.15s ease-in;
-o-transition: -o-box-shadow 0.15s ease-in;
transition: box-shadow 0.15s ease-in;
}