Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我该如何加强这一点_Javascript_Svg - Fatal编程技术网

Javascript 我该如何加强这一点

Javascript 我该如何加强这一点,javascript,svg,Javascript,Svg,我想将另一个连接器添加到“A”块到“C”块。如何增强以下代码片段以达到我的要求?请参阅图片和链接 设置“from”和“to”元素参数 类似于以下的方法应该可以工作: var divA = document.querySelector("#a"); var divB = document.querySelector("#b"); var divC = document.querySelector("#c"); var connector = document.qu

我想将另一个连接器添加到“A”块到“C”块。如何增强以下代码片段以达到我的要求?请参阅图片和链接

设置“from”和“to”元素参数

类似于以下的方法应该可以工作:

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();

你的问题不完整。请描述您希望实现的目标,并发布代码以检查问题。问题已用image和JSF更新。您需要在SVG中添加一个额外的连接器元素。
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();