当鼠标悬停在圆上时,对圆和连接圆的线的SVG进行动画处理,可以通过以下步骤实现:
<svg>
标签创建一个SVG元素,并设置其宽度和高度。<circle>
标签绘制圆,并设置圆的半径、位置和样式。使用<line>
标签绘制连接圆的线,并设置线的起点、终点和样式。<animate>
标签为圆和线添加动画效果。可以使用begin
属性设置动画的触发时机,例如设置为mouseover
表示鼠标悬停时触发动画。使用attributeName
属性指定要动画的属性,例如设置为r
表示动画圆的半径。使用to
属性指定动画的目标值,例如设置为一个较大的半径值实现圆的放大效果。可以设置其他属性如dur
表示动画的持续时间、repeatCount
表示动画的重复次数等。addEventListener
方法为SVG元素添加mouseover
事件监听器,在事件处理函数中启动动画。以下是一个示例代码:
<!DOCTYPE html>
<html>
<head>
<style>
svg {
width: 400px;
height: 400px;
}
circle {
fill: blue;
}
line {
stroke: red;
stroke-width: 2;
}
</style>
</head>
<body>
<svg>
<circle cx="200" cy="200" r="50">
<animate attributeName="r" to="100" dur="1s" repeatCount="indefinite" begin="mouseover" />
</circle>
<line x1="200" y1="200" x2="300" y2="200">
<animate attributeName="x2" to="400" dur="1s" repeatCount="indefinite" begin="mouseover" />
</line>
</svg>
<script>
const svg = document.querySelector('svg');
const circle = document.querySelector('circle');
const line = document.querySelector('line');
svg.addEventListener('mouseover', () => {
circle.beginElement();
line.beginElement();
});
</script>
</body>
</html>
这段代码创建了一个400x400像素大小的SVG元素,绘制了一个半径为50的蓝色圆和一条连接圆的红色线。当鼠标悬停在圆上时,圆和线会分别进行放大和向右移动的动画效果。
领取专属 10元无门槛券
手把手带您无忧上云