我想在" A"添加另一个连接器阻止" C"块。如何增强以下代码片段以达到我的要求?请参阅图像和jsfidle链接
https://jsfiddle.net/dw03zj39/
var divA = document.querySelector("#a");
var divB = document.querySelector("#b");
var connector = document.querySelector("#connector");
var drawConnector = function() {
var posnA = {
x: divA.offsetLeft + divA.offsetWidth,
y: divA.offsetTop + divA.offsetHeight / 2
};
var posnB = {
x: divB.offsetLeft,
y: divB.offsetTop + divA.offsetHeight / 2
};
var dStr =
"M" +
(posnA.x ) + "," + (posnA.y) + " " +
"C" +
(posnA.x + 100) + "," + (posnA.y) + " " +
(posnB.x - 100) + "," + (posnB.y) + " " +
(posnB.x ) + "," + (posnB.y);
connector.setAttribute("d", dStr);
};
window.addEventListener("resize", drawConnector);
drawConnector();
答案 0 :(得分:0)
从"制作"和"到"元素参数。
以下内容应该有效:
var divA = document.querySelector("#a");
var divB = document.querySelector("#b");
var divC = document.querySelector("#c");
var connector = document.querySelector("#connector");
var drawConnector = function(from, to) {
var posnA = {
x: from.offsetLeft + from.offsetWidth,
y: from.offsetTop + from.offsetHeight / 2
};
var posnB = {
x: to.offsetLeft,
y: to.offsetTop + to.offsetHeight / 2
};
var dStr =
"M" +
(posnA.x ) + "," + (posnA.y) + " " +
"C" +
(posnA.x + 100) + "," + (posnA.y) + " " +
(posnB.x - 100) + "," + (posnB.y) + " " +
(posnB.x ) + "," + (posnB.y);
connector.setAttribute("d", dStr);
};
function drawAllConnectors()
{
drawConnector(divA, divB);
drawConnector(divA, divC);
}
window.addEventListener("resize", drawAllConnectors);
drawAllConnectors();