Javascript 单击时顺时针设置边界圆的动画

Javascript 单击时顺时针设置边界圆的动画,javascript,css,Javascript,Css,我已经用svg创建了一个心形图标,它在单击时被填充,我还想做的是显示一个顺时针创建的心形外的圆形动画。当前,圆只是旋转,如下面的代码所示: Array.from(document.queryselectoral(“.heart”).forEach(button=>button.addEventListener('click',function)(){ if(按钮最近(“.circle”).style.visibility==“可见”){ 控制台。登录(“如果条件允许,则登录”); button

我已经用svg创建了一个心形图标,它在单击时被填充,我还想做的是显示一个顺时针创建的心形外的圆形动画。当前,圆只是旋转,如下面的代码所示:

Array.from(document.queryselectoral(“.heart”).forEach(button=>button.addEventListener('click',function)(){
if(按钮最近(“.circle”).style.visibility==“可见”){
控制台。登录(“如果条件允许,则登录”);
button.closest(“.circle”).style.visibility='hidden';
}
否则{
console.log(“在其他情况下”);
按钮。最近的(“.circle”)。style.visibility='visible';
}
按钮。类列表。切换(“心脏填充”);
}))
.circle{
可见性:隐藏;
保证金:100像素自动;
位置:相对位置;
溢出:隐藏;
宽度:107px;
高度:100px;
边界半径:50%;
方框阴影:0 3px红色;
}
.圆圈:悬停{
动画:边界1向前;
}
@关键帧边框{
0% {
可见性:隐藏;
变换:旋转(0度);
}
100% {
能见度:可见;
变换:旋转(360度);
}
}
svg{
最大高度:120px;
}
.心脏{
填充:透明;
过渡:全部5秒;
}
.心满意足{
填充物:红色;
边框:50px纯蓝;
}
.台词{
显示:无;
}
.台词显示{
填充物:红色;
}

.心脏{
行程:#FF0606;
行程限制:10;
笔画宽度:5px;
}
图标/愿望列表

为什么不使用SVG
圆圈
并为
笔划-划线偏移设置动画

圆圈{
笔画:红色;
笔画宽度:1;
填充:粉红色;
笔划数组:1;
行程偏移:1;
动画:直线无限;
}
@关键帧破折号{
从{
行程偏移:1;
}
到{
笔划偏移:0;
}
}
svg{
高度:90vh;
显示:块;
变换:旋转(-90度);
保证金:自动;
}


虽然这不能回答您的问题,但使用第三方软件包(如VIVUS)可能会对您有所帮助,以获得理想的结果。你想要的是一个从0度到360度的圆弧?我不想使用任何第三方软件包@adnantariqYeah诸如此类的东西,只是为了给心脏外的点击添加一个额外的动画@JDunkenWell然后你不想画一个圆,你想画一个圆弧,关键帧定义了圆弧的角度,别忘了你可以用负角度画相反的方向。我怎样才能把心形图标放进去,只在点击心形图标的时候制作圆形动画呢?