@Snowfall_Zh

Не могу поменять fill с помощью метода .css примененый к svg объекту. Как исправить?

Я менял fill у svg объекта с помощью такого скрипта.
$('img.img-svg').each(function () {
		var $img = $(this);
		var imgClass = $img.attr('class');
		var imgURL = $img.attr('src');
		$.get(imgURL, function (data) {
			var $svg = $(data).find('svg');
			if (typeof imgClass !== 'undefined') {
				$svg = $svg.attr('class', imgClass + ' replaced-svg');
			}
			$svg = $svg.removeAttr('xmlns:a');
			if (!$svg.attr('viewBox') && $svg.attr('height') && $svg.attr('width')) {
				$svg.attr('viewBox', '0 0 ' + $svg.attr('height') + ' ' + $svg.attr('width'))
			}
			$img.replaceWith($svg);
		}, 'xml');
	})

.img-svg path{
		fill: #fff;
		transition: all .3s;
	}


Затем хотел поменять ее обратно с помощью такого скрипта. Но что-то не получается.
$(window).on('scroll', function () {
		headerScroll();
	});

	function headerScroll() {
if ($(window).scrollTop() > 20) {
			$('.img-svg path').css('fill:#000', 'transition: all .3s');
		} else {
			$('.img-svg path').css('fill:#fff');
		}
}


5fea03989dc30307757892.jpeg
5fea03b865125971279073.jpeg
  • Вопрос задан
  • 201 просмотр
Пригласить эксперта
Ответы на вопрос 1
petermzg
@petermzg
Самый лучший программист
У атрибута в svg приоритет выше, чем через стиль. Задавайте первоначальное значение также через стили.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы