Я использую jsPlumb в первый раз и буду признателен за некоторую помощь с ним.Добавление div с помощью jQuery, затем подключение его через jsPlumb
Мое приложение позволяет пользователю создавать «воздушный шар» (div) одним нажатием кнопки, а затем рисует строку с воздушного шара на «дескриптор» (другой div) с помощью jsPlumb.
Следующий код работает в моем браузере (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"
});
});
});
Если то, что вам нужно сделать, это добавить подразделение, которое получает ввод пользователя по нажатию кнопки, это должно работать –
I» m не извлекает пользовательский ввод, я хочу разрешить пользователю создавать воздушный шар div при нажатии кнопки. Эта часть работает. Что не работает $ ('# my_balloons .balloon'). Show ({ эффект: «шкала», процентов: «100» }); , если я не удаляю {effect: "scale", percent: "100"} – cobberas63
I _think_ это как-то связано с тем, что опорная точка BottomCenter для соединителя эффективно перемещается по мере того, как эффект масштаба на show() реализован , Я попытался введение задержки между шоу() и jsPlumb.connect() методы, например: – cobberas63