【发布时间】:2022-01-13 12:56:00
【问题描述】:
我想使用 css、html 和 js 创建以下评分系统:
当用户将鼠标放在圆圈笔划的特定短划线上时,它会用特定颜色填充之前的所有短划线。现在我做了以下事情:
* {
background-color: blue;
}
.progress-ring__circle {
stroke-dasharray: 25 6;
}
<svg
class="progress-ring"
width="120"
height="120">
<circle
class="progress-ring__circle"
stroke="grey"
stroke-width="10"
fill="transparent"
r="52"
cx="60"
cy="60"/>
</svg>
问题是我不知道如何检测用户将鼠标放在哪个仪表板上。有没有办法使用 JS 或 CSS 来做到这一点?
【问题讨论】:
-
你可以用 observables 来完成这个任务:stackchief.com/tutorials/…
-
这对事件监听器来说很简单。问题是您的视图中只有一个元素。上面表示的 10 个破折号中的每一个都必须是它们自己的元素,它们将接收自己的样式(打开或关闭颜色)。添加 10 条弧线组成你的圆圈,然后
.addEventListener('hover', ...)分别影响每个弧线。
标签: javascript html css