【发布时间】:2017-08-09 17:47:44
【问题描述】:
我想将来自 here (Apollo) 的悬停效果添加到生成的 svg 元素(或用作背景的图案)上 由不同的库(来自wheelnav.js 的馅饼菜单切片)。 但是,它使用了一个图形类,我不知道如何在 svg 上实现它。
这是创建和实现该背景模式的 javascript 代码:
var patt = document.createElementNS('http://www.w3.org/2000/svg', 'pattern');
patt.setAttribute('id', 'img1');
patt.setAttribute('patternUnits', 'objectBoundingBox');
patt.setAttribute('width', '1');
patt.setAttribute('height', '1');
patt.setAttribute('x', '0');
patt.setAttribute('y', '0');
var image = document.createElementNS('http://www.w3.org/2000/svg', 'image');
image.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', 'assets/images/isaac-easy-mode.jpg');
image.setAttribute('width', document.getElementById("wheelnav-piemenu" + 3 + "-slice-" + 0).getBoundingClientRect().width);
image.setAttribute('height', document.getElementById("wheelnav-piemenu" + 3 + "-slice-" + 0).getBoundingClientRect().height);
var defs = document.getElementsByTagName('defs')[0];
patt.appendChild(image);
defs.appendChild(patt);
有没有办法做到这一点? (不一定需要使用图形类,可以是该元素前面的一些幽灵对象或类似的东西)
【问题讨论】:
标签: javascript jquery css svg figure