我試圖創建一個非常簡單的粒子系統。此時不需要任何物理,只需動畫看起來像泡泡或蜜蜂,或任何其他物體的div。下面的代碼創建div和通過CSS我可以讓他們改變位置,向上浮動。但我似乎無法鍛鍊如何摧毀粒子。每個粒子都會運動,然後返回到原始點。我寧願如果它被完全刪除。使用CSS和JavaScript的粒子
謝謝。
/* ==================== PARTICLES CONTROLLER ==================== */
/**
* Particle controller interates through all elements with
* CSS class name PARTICLE_CSS and when found a ParticleController is instantiated
* for each of the elements.
*/
function ParticleBaseController(){
var ParticleContainer = document.querySelectorAll(PARTICLE_CSS),
ParticleContainerLength = ParticleContainer.length;
for (var i = ParticleContainerLength - 1; i >= 0; i--){
new ParticleController(ParticleContainer[i]);
};
};
function ParticleController(element) {
var particleElement, fragment = document.createDocumentFragment();
var numberOfParticles = 1;
for (var i = 0; i < numberOfParticles; i ++) {
particleElement = document.createElement("div");
particleElement.addClassName(PARTICLE_ELEMENT_CSS_CLASS);
var Ypos = Math.floor((Math.random()*200)+1);
var Xpos = Math.floor((Math.random()*200)+1);
particleElement.style.top = Ypos + "px";
particleElement.style.left = Xpos + "px";
fragment.appendChild(particleElement);
}
element.appendChild(fragment);
setTimeout(ParticleBaseController, 3000);
};
你錯過了一個JavaScript命令來刪除一個元素,或者我誤解了你嗎? – 2012-08-07 11:08:23
是的。我需要刪除,所以它不會越來越多地實例化。某種限制器可能不會超過一定數量的粒子? – glebski 2012-08-07 11:15:21
你可以使用'element.parentNode.removeChild(element)'從DOM中移除一個元素,但我想這不是你要找的東西,是嗎?或者更多關於如何關閉ParticleController實例的邏輯部分? – 2012-08-07 12:30:56