У меня есть спрайт SVG, который содержит 2 символа, второй символ использует первый. Мне нужно разделить это на спрайты, потому что я использую значки более одного раза.Анимировать объект SVG, который использует значок спрайта SVG
моя проблема в том, что я не могу анимировать объект так, как мне нужно, надеюсь, что кто-то может помочь. В основном его кнопка со значком, как только я нажимаю на нее, меняю масштаб на 20% + анимируем переход цвета и переход хода к разным цветам. В настоящее время мне удалось ссылаться на различные части символов с помощью jquery, я не думаю, что это правильный путь, поскольку я понимаю, что он предположительно является независимым объектом.
В основном мне нужна кнопка для масштабирования + транзитная заливка цвета + транзитный цветный ход при щелчке.
$('#shape2').on('click', function(a, v, b) {
$(this).velocity({
scale: 0.99,
duration: 100,
complete: function() {
$(this).velocity({
scale: 1.4
}, {
duration: 1000
});
//i don't want to do this, i want to access it as an object (this), but i cannot
$("#icon_2").find('circle').velocity({
fill: '#00b2ff',
duration: 1000,
complete: function() {
$("#icon_1").find("path").velocity({
stroke: "#fff",
queue: false
}, 1000);
}
});
}
});
})
.st0 {
fill: none;
stroke: #0083ED;
stroke-miterlimit: 5;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/velocity/1.2.2/velocity.js"></script>
<svg width="0" height="0">
<defs>
<symbol id="icon_1" viewBox="0 0 50 50" class="st0">
<path d="M10.6 29.3h14.5V44H10.6z" />
<path d="M25 29.3h14.5V44H25zm-7.2-14.7h14.5v14.7H17.8zm0 0l3.9-4m10.6 4l3.9-4m-3.9 18l3.9-3.7m-25.6 4.4l4.3-4.4m24.6 4.7l3.9-4M39.5 44l3.9-4M21.2 10.6h15M14.5 24.9h3.3m17.7.6h7.9M36.2 10v15.5m7.2.1V40" />
</symbol>
<symbol id="icon_2">
<circle cx="50" cy="50" r="48" fill="#dcf2f8" stroke="white" stroke-width="2" />
<use x="7" y="5" width="80" height="80" xlink:href="#icon_1"></use>
</symbol>
</defs>
</svg>
<!-- s v g --------------------------------- -->
<svg width='100' height='100' id="shape2">
<use xlink:href="#icon_2"></use>
</svg>
<!-- s v g --------------------------------- -->
Спасибо !!!!!!!!!! – danikoren