Настройка изображения в качестве фона для SVG-круга динамически не работает. Я сделал это, установив URL-адрес изображения в атрибут заполнения SVG-круга, как показано ниже.
document.getElementsByTagName('circle')[0].setAttribute("fill", "url(#img1)");
Вот скрипка.
Есть ли способ заполнить изображение?
Я исправил твою скрипку:
Я заменил ненужные вызовы setAttributeNS
с помощью setAttribute
и добавил важный вызов setAttributeNS
:
var circle = $('circle');
var pattern = document.createElementNS("http://www.w3.org/2000/svg", "pattern");
pattern.setAttribute( "id", "img1");
pattern.setAttribute( "patternUnits", "userSpaceOnUse");
pattern.setAttribute("height", "100");
pattern.setAttribute("width", "100");
var image = document.createElementNS("http://www.w3.org/2000/svg", "image");
image.setAttribute("x", "0");
image.setAttribute("y", "0");
image.setAttribute("height", "100");
image.setAttribute("width", "100");
image.setAttributeNS("http://www.w3.org/1999/xlink", "xlink:href",
"http://www.abcteach.com/free/c/circlergb.jpg");
pattern.appendChild(image);
defs.appendChild(pattern);
$(defs).insertBefore(circle);
height
и width
на 100.