Как предотвратить ослабление / задержку анимации в SVG при зацикливании?

#animation #svg #timing

#Анимация #svg #время

Вопрос:

Например, я хочу создать анимацию загрузчика SVG.

Я получил некоторый переход / ослабление / задержку при циклировании (я не знаю, что называть извините)

 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 590 100">
  <circle id="a1" cx="70" cy="70" r="20"/>
  <circle id="a2" cx="120" cy="70" r="20"/>
  <circle id="a3" cx="170" cy="70" r="20"/>
  <circle id="a4" cx="220" cy="70" r="20"/>
  <circle id="a5" cx="270" cy="70" r="20"/>
  <circle id="a6" cx="320" cy="70" r="20"/>
  <circle id="a7" cx="370" cy="70" r="20"/>
  <circle id="a8" cx="420" cy="70" r="20"/>
  <circle id="a9" cx="470" cy="70" r="20"/>
  <circle id="a10" cx="520" cy="70" r="20"/>
  <animate xlink:href="#a1" attributeName="visibility" from="hidden" to="visible" begin="0.1s" dur="1s" repeatCount="indefinite" />
  <animate xlink:href="#a2" attributeName="visibility" from="hidden" to="visible" begin="0.2s" dur="1s" repeatCount="indefinite" />
  <animate xlink:href="#a3" attributeName="visibility" from="hidden" to="visible" begin="0.3s" dur="1s" repeatCount="indefinite" />
  <animate xlink:href="#a4" attributeName="visibility" from="hidden" to="visible" begin="0.4s" dur="1s" repeatCount="indefinite" />
  <animate xlink:href="#a5" attributeName="visibility" from="hidden" to="visible" begin="0.5s" dur="1s" repeatCount="indefinite" />
  <animate xlink:href="#a6" attributeName="visibility" from="hidden" to="visible" begin="0.6s" dur="1s" repeatCount="indefinite" />
  <animate xlink:href="#a7" attributeName="visibility" from="hidden" to="visible" begin="0.7s" dur="1s" repeatCount="indefinite" />
  <animate xlink:href="#a8" attributeName="visibility" from="hidden" to="visible" begin="0.8s" dur="1s" repeatCount="indefinite" />
  <animate xlink:href="#a9" attributeName="visibility" from="hidden" to="visible" begin="0.9s" dur="1s" repeatCount="indefinite" />
  <animate xlink:href="#a10" attributeName="visibility" from="hidden" to="visible" begin="1s" dur="1s" repeatCount="indefinite" />
</svg>  

Посмотрите на эту демонстрацию :
Эти точки не исчезают при завершении анимации.

Я просто хочу показать, что точка работает (одна точка) (текущая демонстрация показывает около 4 точек)

Как мне поступить, чего мне не хватает?

Ответ №1:

Ага, я думаю, я понял это, используя value

Пример: (10 шагов)

 values="visible;hidden;hidden;hidden;hidden;hidden;hidden;hidden;hidden;hidden;"
  

 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 590 100">
  <circle id="a1" cx="70" cy="70" r="20"/>
  <circle id="a2" cx="120" cy="70" r="20"/>
  <circle id="a3" cx="170" cy="70" r="20"/>
  <circle id="a4" cx="220" cy="70" r="20"/>
  <circle id="a5" cx="270" cy="70" r="20"/>
  <circle id="a6" cx="320" cy="70" r="20"/>
  <circle id="a7" cx="370" cy="70" r="20"/>
  <circle id="a8" cx="420" cy="70" r="20"/>
  <circle id="a9" cx="470" cy="70" r="20"/>
  <circle id="a10" cx="520" cy="70" r="20"/>
  <animate xlink:href="#a1" attributeName="visibility" begin="0s" dur="1.3s" values="visible;hidden;hidden;hidden;hidden;hidden;hidden;hidden;hidden;hidden;" calcMode="linear" repeatCount="indefinite" />
  <animate xlink:href="#a2" attributeName="visibility" begin="0s" dur="1.3s" values="hidden;visible;hidden;hidden;hidden;hidden;hidden;hidden;hidden;hidden;" calcMode="linear" repeatCount="indefinite" />
  <animate xlink:href="#a3" attributeName="visibility" begin="0s" dur="1.3s" values="hidden;hidden;visible;hidden;hidden;hidden;hidden;hidden;hidden;hidden;" calcMode="linear" repeatCount="indefinite" />
  <animate xlink:href="#a4" attributeName="visibility" begin="0s" dur="1.3s" values="hidden;hidden;hidden;visible;hidden;hidden;hidden;hidden;hidden;hidden;" calcMode="linear" repeatCount="indefinite" />
  <animate xlink:href="#a5" attributeName="visibility" begin="0s" dur="1.3s" values="hidden;hidden;hidden;hidden;visible;hidden;hidden;hidden;hidden;hidden;" calcMode="linear" repeatCount="indefinite" />
  <animate xlink:href="#a6" attributeName="visibility" begin="0s" dur="1.3s" values="hidden;hidden;hidden;hidden;hidden;visible;hidden;hidden;hidden;hidden;" calcMode="linear" repeatCount="indefinite" />
  <animate xlink:href="#a7" attributeName="visibility" begin="0s" dur="1.3s" values="hidden;hidden;hidden;hidden;hidden;hidden;visible;hidden;hidden;hidden;" calcMode="linear" repeatCount="indefinite" />
  <animate xlink:href="#a8" attributeName="visibility" begin="0s" dur="1.3s" values="hidden;hidden;hidden;hidden;hidden;hidden;hidden;visible;hidden;hidden;" calcMode="linear" repeatCount="indefinite" />
  <animate xlink:href="#a9" attributeName="visibility" begin="0s" dur="1.3s" values="hidden;hidden;hidden;hidden;hidden;hidden;hidden;hidden;visible;hidden;" calcMode="linear" repeatCount="indefinite" />
  <animate xlink:href="#a10" attributeName="visibility" begin="0s" dur="1.3s" values="hidden;hidden;hidden;hidden;hidden;hidden;hidden;hidden;hidden;visible;" calcMode="linear" repeatCount="indefinite" />
</svg>