SVG createElementNS 'use' 可能吗?
SVG createElementNS 'use' is it possible?
缩短,我正在使用(使用)复制正方形(路径)代码添加到 DOM 然而,只有 1px(调试 chrome)。第六块用户不可见!
谢谢你!
code in: codepen
$(function() {
$('#svg').css('visibility', 'visible');
$('#svg use').css('fill', '#fff');
function addAnim() {
var $first = $('#svg use:not(.anim):first');
$first.attr('class', 'anim').css('fill', '#F15A29');
$first.animate({fill : '#F15A29'}, 500);
setTimeout(function() {
addAnim();
}, 100);
}
function replicar(){
var svg = document.getElementById('svg');
var elemento= document.createElementNS('ttp://www.w3.org/2000/svg', 'use');
elemento.setAttribute('xlink:href', '#shape');
elemento.setAttribute('y', '62');
elemento.setAttribute('x', '124');
elemento.setAttribute('fill', '#3D6EB5');
svg.appendChild(elemento);
addAnim();
replicar();
});
您在此行中缺少 'h':
var elemento= document.createElementNS('http://www.w3.org/2000/svg', 'use');
另外,xlink属性需要加上setAttributeNS
。
elemento.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', '#shape');
缩短,我正在使用(使用)复制正方形(路径)代码添加到 DOM 然而,只有 1px(调试 chrome)。第六块用户不可见! 谢谢你! code in: codepen
$(function() {
$('#svg').css('visibility', 'visible');
$('#svg use').css('fill', '#fff');
function addAnim() {
var $first = $('#svg use:not(.anim):first');
$first.attr('class', 'anim').css('fill', '#F15A29');
$first.animate({fill : '#F15A29'}, 500);
setTimeout(function() {
addAnim();
}, 100);
}
function replicar(){
var svg = document.getElementById('svg');
var elemento= document.createElementNS('ttp://www.w3.org/2000/svg', 'use');
elemento.setAttribute('xlink:href', '#shape');
elemento.setAttribute('y', '62');
elemento.setAttribute('x', '124');
elemento.setAttribute('fill', '#3D6EB5');
svg.appendChild(elemento);
addAnim();
replicar();
});
您在此行中缺少 'h':
var elemento= document.createElementNS('http://www.w3.org/2000/svg', 'use');
另外,xlink属性需要加上setAttributeNS
。
elemento.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', '#shape');