1
我第一次使用jsPlumb,并希望得到一些帮助。使用jQuery添加一个div,然后通过jsPlumb连接它
我的应用程序允许用户在点击按钮时创建一个“气球”(一个div),然后使用jsPlumb从气球中将一个字符串绘制到一个“手柄”(另一个div)。
下面的代码在我的浏览器(FF)上工作,如果我删除.show效果,但如果我包含{effect: "scale", percent: "100"}
,则连接器会被绘制,然后直线消失。
HTML:
<div id="my_window">
<div id="my_balloons">
<div id="my_handle"></div>
</div>
<div id="my_buttons">
<div class="button">Make a balloon</div>
</div>
</div>
CSS:
#my_balloons {
height: 400px;
position: relative;
}
#my_handle {
background-color: red;
height: 10px;
width: 10px;
position: absolute;
left: 42%;
top: 90%;
}
.button {
background-color: #2460a4;
border-radius: 0.9em;
color: #fff;
cursor: pointer;
margin: 1em 0;
padding: 0.3em 1em;
text-align: center;
width: 7em;
}
.balloon {
position: absolute;
top: 0;
bottom: auto;
left: 0;
right: auto;
text-align: center;
cursor: move;
width: 100px;
height: 125px;
}
JS:
jsPlumb.ready(function() {
jsPlumb.on(document, "click", ".button", function() {
var balloon = '<div id="my_balloon" class="balloon hide">Balloon!</div>';
$('#my_balloons').prepend(balloon);
$('#my_balloons .balloon').show({
effect: "scale",
percent: "100"
});
jsPlumb.connect({
source: "myBalloon",
target: "my_handle",
anchors: ["BottomCenter", "TopLeft"],
endpoint: "Dot"
});
});
});
如果你需要做的是添加在点击按钮获取用户输入的部门,这应该工作 –
我米没有检索用户输入,我想让用户在点击按钮时创建一个气球div。这部分工作。什么不起作用是 $('#my_balloons .balloon')。show({0}效果:“scale”, percent:“100” }); 除非我删除了 {effect:“scale”,percent:“100”} – cobberas63
I _think_它与连接器的BottomCenter锚点有效地移动,因为show() 。我尝试在show()和jsPlumb.connect()方法之间引入延迟,如下所示: – cobberas63