私はpath
要素とこれらのパスのセットを持っているが、彼らはcondition
に一致する場合、私はチェックしていたクラスを持って、このcondition
が一致するたびに、クラスactive
は、上記のコードシーケンスをアクティブにする方法は?
mapMatch(list);
function mapMatch(list) {
$("svg path").removeClass("active");
$("svg path").each(function(){
for(var i = 0; i < list.length; i++) {
space = list[i].Space.replace(" ", "_");
space = space.replace("[Image]\u00a0", "");
if($(this).attr('class').split(" ")[0] == space) {
setTimeout(function() {
$(this).addClass("active");
}, 1000);
}
};
});
}
それに追加する必要がありますクラスを追加していないし、順番に追加していない。理想的には、私は、CSSを介して色の塗りつぶしの変更のアニメーションをしたい、次の代わりにそれをまっすぐ前方に適用されます。
path.active {
fill: #ff4d4a;
}
私は次のことを行う場合、それは動作しますが、思いなしの配列を有する:
this
は、あなたがそれだと思うものではありませんので、このクラスは、コードの最初のバージョンで追加されていない
function mapMatch(list) {
$("svg path").removeClass("active");
$("svg path").each(function(){
for(var i = 0; i < list.length; i++) {
space = list[i].Space.replace(" ", "_");
space = space.replace("[Image]\u00a0", "");
if($(this).attr('class').split(" ")[0] == space) {
$(this).addClass("active");
}
};
});
}
"シーケンス"? – trincot
class activeは色の塗りつぶしを追加するので、クラスをすべてのパスにまとめると、シーケンスの色の変更は表示されません。一致した後に色を変更したい場合は –
1秒間に1回のアニメーションが表示されます。 – trincot