저는 SVG 세계에서 상당히 새로워졌습니다. 곡선 화살표를 "그리는"경우에는 몇 가지 문제에 직면하고 있습니다.SVG에서 화살표 그리기 애니메이션
기본적으로 this article에 설명 된 것과 같은 애니메이션을 만들고 싶지만 화살표를 표시하려면 경로 끝에 모양이 있어야합니다. CSS의 비트와
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200">
<defs>
<marker
id="arrow"
orient="auto"
viewBox="0 0 10 10"
markerWidth="3"
markerHeight="4"
markerUnits="strokeWidth"
refX="1" refY="5">
<polyline points="0,0 10,5 0,10 1,5" fill="black" />
</marker>
</defs>
<path
id="line"
marker-end="url(#arrow)"
stroke-width="3"
fill="none"
stroke="black">
<animate
dur="2s"
repeatCount="indefinite"
attributeName="d"
values="M10,10 L10,10; M10,10 L45,25;" />
</path>
: 아래
내가 직선 화살표에 사용하는 코드입니다#line
{
stroke-dasharray: 5;
stroke-dashoffset: 10;
-webkit-animation: draw 1s linear infinite;
}
@-webkit-keyframes draw
{
to { stroke-dashoffset: 0;}
}
결과 아래에 있습니다 :
,536,멋지다. 그러나 이제 나는 구부러진 화살을 원한다. 그래서 아래의 애니메이션 태그를 업데이트했습니다 :
<animate
dur="2s"
repeatCount="indefinite"
attributeName="d"
values="M7,121 C7,121 7,121 7,121; M7,121 C66,4 143,75 147,125" />
나는 곡선을 갖기 위해 애니메이션으로 변경했습니다.
나는 그것이 매우 논리적 인 생각하지만, 내가 좋아하는 것이 무엇되지 않습니다 : 그러나 결과는 아래와입니다. 마커는 현재 직선으로 움직이고 있습니다. 그것은 드로잉 경로를 따라야합니다. :)
당신은 a JSFiddle here을 찾을 수 있습니다
나는 정직하게 이렇게하는 방법에 아무 생각이 없다, 어떤 제안은 좋은 것입니다.
본 실험에서 JS는 사용되지 않았으므로이 언어를 피하고 SVG + CSS 만 사용하면 좋을 것입니다.
미리 감사드립니다.
이 링크는 질문에 대답 할 수 있지만 답변의 핵심 부분을 여기에 포함시키고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않게 될 수 있습니다. - [리뷰에서] (리뷰/저품절 포스트/15799580) – Adam
Thanks @ Adam, Chris의 코드로 예제를 업데이트했습니다. – Paesano2000