私はドキュメントフラグメントを使用して複数のスパン要素を一度に追加するjavascriptプロジェクトに取り組んでいます。その後、それらはCSSでアニメーション化されます。追加後にドキュメントフラグメント内の要素を削除する方法
.redCircle {
float: left;
height:20px;
width:20px;
border-radius:10px;
box-shadow: 0 0 20px red;
background-color: red;
animation: 2s circleFall linear;
}
@keyframes circleFall {
0%{margin:0;}
100%{margin:100% 10%;}
}
setInterval(thingyTime, 5000);
function thingyTime() {
var count = 15,
spanVar = document.createElement("span"),
fragment = document.createDocumentFragment();
for (var i = 0; i < count; ++i) {
for (var j = 0; j < 1; ++j) {
spanVar = document.createElement('spanVar');
spanVar.className = "redCircle";
fragment.appendChild(spanVar);
}
}
document.body.appendChild(fragment);
};
thingyTime();
私は、アニメーションが完了した後にスパンを削除する方法を理解しようとしています。私は
setTimeout(function(){
spanVar.remove(spanVar.selectedIndex);
},2000); // <= animation length
を使用していると、それだけで一つの要素のためだとき、それが正常に動作しますが、私はフラグメント内すべての要素を削除する必要があります。
私はあなたのお手伝いをします。
ループ 'spanVar'の後は、作成した最後のスパンへの参照になります(forループがそのたびに上書きするため)。また、実際のスパンではなく 'spanVar'型の要素を作成しています(これが意図的であるかどうかは不明です)。最も簡単な解決法は、あなたが作成したすべての要素を配列に貼り付けてから、それを繰り返して整理してください。 – Carl
はい、@Carl変数名の要素を作成しているのに気付きました。私はグーグルでそれについて何かを見つけることができませんでした。多分私のためにそれを説明できますか?この@Carl – thinoquinn