更改svg颜色,但一次只能更改一个多边形

时间:2017-08-30 23:54:14

标签: jquery svg

我试图一次只做一个多边形变色。到目前为止,两个或多个多边形同时改变颜色。任何帮助将非常感谢。

在这里小提琴:https://jsfiddle.net/xamonix/6em7qxx3/9/

脚本:

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

},1000);

1 个答案:

答案 0 :(得分:1)

事实上,所有这些都被分配了一种新颜色。但由于你只有四种颜色,概率规则表明,对于25%的多边形,新的多边形将与旧的相同。

如果您只想选择一个多边形,则不应选择每个多边形。

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);