我正在处理一个JavaScript项目,其中我使用文档片段一次追加多个span元素。然后他们用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我注意到它是用变量名创建元素,我认为它很奇怪。 Google搜索后我一直无法找到它。你能为我解释一下吗? – thinoquinn