我正在處理一個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