Ваш код не работает.Я сделал некоторые изменения в myFunction()
, и код работает правильно , но ...
В своем коде вы можете нарисовать многоугольник или круг.Нет функции рисовать прямоугольник.
Предположим, что вы хотите создать 2 круга, это работает, но вы можете видеть только один круг, так как другой скрыт за другим.То же самое происходит с polyline
.
Здесь вам нужно создать функцию для рисования круга, который принимает аргументы x
, y
и r
.Также вам потребуется способ определения новой позиции и радиуса вашего круга.
Вы должны сделать то же самое для polyline
.Вам понадобится способ определить точки для новой фигуры.
function myFunction() {
debugger;
var uInput = document.getElementById("getValue").value;
var total_Items = totalItems.options[totalItems.selectedIndex].value;
if (total_Items == "polyline") {
for (var i = 1; i <= uInput; i++) {
var poly = document.createElementNS("http://www.w3.org/2000/svg", "polyline");
poly.setAttribute("points", "20,20 40,25 60,40 80,120 120,140 200,180");
poly.setAttribute("fill", "none");
poly.setAttribute("stroke", "blue");
poly.setAttribute("stroke-width", 2);
document.getElementById("mySVG").appendChild(poly);
}
} else{
for (var i = 1; i <= uInput; i++) {
var circlee = document.createElementNS("http://www.w3.org/2000/svg", "circle");
circlee.setAttribute("cx", 50);
circlee.setAttribute("cy", 50);
circlee.setAttribute("r", 40);
circlee.setAttribute("fill", "red");
circlee.setAttribute("stroke", "black");
circlee.setAttribute("stroke-width", 3);
document.getElementById("mySVG").appendChild(circlee);
}
}
}
svg{border:1px solid}
<div class="container">
<div class="container">
<div class="row">
<div class="col-md-2 text-right">
<input type="number" value = "1" name="" style="width: 25%;" id="getValue"> </div>
<div class="col-md-2 text-center">
<select id="totalItems">
<option value="rectangle">Rectangle</option>
<option value="polyline">PolyLine</option>
<option value="circle">Circle</option>
</select>
</div>
<div class="col-md-2 text-left">
<input type="submit" name="" value="Create" onclick="myFunction()"> </div>
</div>
</div>
</div>
<svg id="mySVG"></svg>