更改 xlink:当图像在 D3js 中未退出时 svg 图像的 href 链接
Change xlink:href link of svg image when image does not exits in D3js?
我正在将SVG图像附加到图表中。但有时图像源可能不存在。为了避免这种情况,我用默认图像替换了un现有图像。
g.selectAll("image")
.data(data)
.enter()
.append("svg:image")
.attr("xlink:href",function(d){
return d.name+".jpg";
})
.attr("x", function (d,i) { return x(d.x); } )
.attr("y", function (d,i) { return y(100); } )
.attr("width",imageSize)
.attr("height",imageSize);
假设目录中不存在 d.name+".jpg"。默认情况下,我必须替换它,.jpg。
我该怎么做??
提前谢谢。
一种方法
是使用 image
, onerror 处理程序:
<!DOCTYPE html>
<html>
<head>
<script data-require="d3@3.5.3" data-semver="3.5.3" src="//cdnjs.cloudflare.com/ajax/libs/d3/3.5.3/d3.js"></script>
</head>
<body>
<script>
var svg = d3.select('body')
.append('svg')
.attr('width', 500)
.attr('height', 500);
var img = svg.append("image")
.attr("xlink:href", "doesnotexit.jpeg") //<-- try to load this
.attr("width", 500)
.attr("height", 500)
.attr('onerror', function() { //<-- on no we had troubles!
d3.select(this)
.attr("xlink:href", "http://lorempixel.com/500/500/sports");
});
</script>
</body>
</html>
相关文章:
- 在轴上旋转SVG图像
- 用图像替换SVG
- 将包含SVG元素的HTML转换为图像文件
- 将SVG下载为PNG图像
- 如何设置SVG路径的样式以拍摄图像
- 无法将包含文本和图像的SVG保存到画布
- 如何在fabricjs中嵌入图像base64将画布转换为SVG
- 如何在d3.js中填充svg圆圈内的图像
- 在内联html img标记中显示带有图像标记的SVG
- 如何在悬停时更改SVG图像的颜色
- Javascript:如何将SVG图像放入数组中
- 将 src 内容动态加载到 SVG 图像
- 根据窗口大小调整 HTML 中 SVG 图像的大小
- 在web浏览器中保存操作过的SVG图像
- SVG具有旋转图像的低性能
- 添加图像与点svg画布
- 正在尝试在SVG标记中显示图像URL
- 使用jquery/javascript将amchart(多个SVG)保存为图像(jpg)
- 在背景图像svg中使用JavaScript
- 下载图表JOINTJS图像|SVG==>带有Javascript的PNG