/ / Changer la couleur de svg mais un seul polygone à la fois - jquery, svg

Changer la couleur de svg mais un seul polygone à la fois - jquery, svg

J'essaie de faire changer un seul polygone à la fois. Jusqu'à présent, deux polygones ou plus changent de couleur en même temps. Toute aide sera très appréciée.

Violon ici: https://jsfiddle.net/xamonix/6em7qxx3/9/

Scénario:

    setInterval(function() {
jQuery(".st0").each(function(i) {
var colors = ["#b30000", "#990000", "#800000", "#660000"];
(this).style.fill = colors[Math.floor(Math.random() * colors.length)];
});

}, 1000);

Réponses:

1 pour la réponse № 1

En fait, tous se voient attribuer une nouvelle couleur. Mais comme vous n’avez que quatre couleurs, les règles de probabilité disent que pour 25% des polygones, le nouveau sera le même que l’ancien.

Si vous souhaitez sélectionner un seul polygone, vous ne devez pas sélectionner chacun d'entre eux.

var polygons = jQuery(".st0");
var colors = ["#b30000", "#990000", "#800000", "#660000"];

setInterval(function() {
var el = polygons[Math.floor(Math.random() * polygons.length)];
el.style.fill = colors[Math.floor(Math.random() * colors.length)];
}, 1000);