要让SVG组中的所有元素在点击时改变颜色,你可以使用JavaScript来操作SVG元素的样式。以下是一个基本的实现方法:
SVG(Scalable Vector Graphics)是一种基于XML的图像格式,用于描述二维矢量图形。SVG元素可以通过JavaScript进行操作,包括改变其样式属性。
以下是一个简单的示例代码,展示了如何实现上述功能:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Change SVG Color on Click</title>
<style>
.svg-group {
cursor: pointer;
}
</style>
</head>
<body>
<svg width="200" height="200">
<g id="svgGroup" class="svg-group">
<circle cx="50" cy="50" r="40" fill="blue" />
<rect x="100" y="10" width="50" height="50" fill="red" />
</g>
</svg>
<script>
document.getElementById('svgGroup').addEventListener('click', function() {
const children = this.children;
for (let i = 0; i < children.length; i++) {
const child = children[i];
const currentColor = child.getAttribute('fill');
const newColor = currentColor === 'blue' ? 'green' : 'blue';
child.setAttribute('fill', newColor);
}
});
</script>
</body>
</html>
<g>
),组内有两个子元素:一个圆形和一个矩形。document.getElementById
获取SVG组元素。这种技术可以应用于各种需要交互式SVG图形的场景,例如:
event.stopPropagation()
来阻止事件冒泡。通过上述方法,你可以轻松实现SVG组内所有元素在点击时改变颜色的功能。
领取专属 10元无门槛券
手把手带您无忧上云