单击时加载新的 SVG
Load a new SVG on click
多年来
一直在网站上潜伏和搜索,但我遇到了一个我似乎无法弄清楚的问题。
我正在为我的女儿制作一本(非常简单的)图画书。 我已经能够确定单张图片 (SVG) 的颜色。 我试图给她多张图片上色。 当她单击主画布下方的图像时,在div 中加载新的 SVG、路径和所有内容的最佳方法是什么?我已经将 SVG 代码内联并使用 PHP 调用它。 两者都适用于初始页面加载,但我无法让辅助加载工作。
这是我的尝试 - https://jsfiddle.net/shockey8oz/LL9048kg/
$('.thumb').click(function() {
var choice = $(this).attr('id');
$('.canvas').load('http://www.shockeyfamily.org/final/' + choice + '.svg');
});
谢谢冲击8盎司
$('.thumb').click(function() {
var img = new Image();
img.onload = function() {
var can = document.createElement('canvas');
var ctx = can.getContext('2d');
ctx.drawImage(img, 0, 0);
$('.canvas').html(can.innerHTML);
}
var choice = $(this).attr('id');
img.src ='http://www.shockeyfamily.org/final/' + choice + '.svg';
});
首先,测试此处找到的解决方案:使用 SVG 图像的最佳实践?
更新代码以在两个不同的形状之间切换。如果图像存储在另一台服务器上,则必须阅读 CORS 并重新配置图像服务器的Access-Control-Allow-Origin:
设置。
替代解决方案是使用内联方法:如何在我的网站上填充/描边 SVG 文件?
相关文章:
- 异步加载的SVG过滤器feColorMatrix在Chrome中工作,而不是在Safari或Firefox中
- 将 src 内容动态加载到 SVG 图像
- 将外部 SVG 和包含 JavaScript 加载到 HTML 中
- 在本地主机上捕捉不加载 svg
- 单击时加载新的 SVG
- 在 <对象> 标记中加载 SVG 时,将侦听器添加到 SVG 卸载事件
- .load() 事件在 SVG 完成加载后未被调用/无法访问其内容
- 定位D3 SVG画布x/y和加载时的缩放级别
- Fabric js从url加载svg缺少属性
- 使用SNAP.SVG平稳加载SVG
- 在没有DOM附加的情况下将多个SVG加载到javascript数组中
- 我们可以使用 Javascript 更改加载的 SVG 文件的颜色吗?
- 嵌入 SVG 加载事件不起作用
- 从 SVG 加载的结构 JS 形状的位置不正确
- 在将 svg 加载到画布后获取单个对象
- 如何使嵌入在HTML中的SVG加载其xlink:href依赖项
- 将外部SVG加载到SVG中
- Snap svg加载内部加载
- 在SVG加载之后修改它
- 美元(窗口).在chrome中完成嵌入SVG加载之前加载触发