2010-11-16 117 views
2

我用Jquery製作了一個粒子生成器,它工作正常,但它有點CPU豬。任何建議表示讚賞。jquery粒子發生器

function particles() { 

$.each($('.particles'), function() { 
    if ($(this).css("opacity") == 0) { 
     $(this).remove(); 
    } 
}); 

var particleSize = Math.floor(Math.random() * 4 + 1); 

var speed = Math.floor(Math.random() * 5000 + 3000); 
var distance = Math.floor(Math.random() * 500 + 200); 
var fallOffSpeed = speed/2; 
var fallOff = distance + distance/2; 

$('body').prepend($($('<div>', { 
    "class" : "particles", 
    "height": particleSize, 
    "width": particleSize 
}).css({ 
    "background-color": "red", 
    "position": "absolute", 
    "top": Math.floor(Math.random() * 39), 
    "z-index": "-1" 
}).animate({ 
    "left": distance 
}, speed, 'linear').animate({ 
    "left": fallOff, 
    "opacity" : "0" 
}, fallOffSpeed, 'linear'))); 

setTimeout(particles, 1000); 

}

回答

3

我只是從一個元素產生的顆粒創造了一個非常小的jQuery plugindemo

我的插件還利用CSS3動畫感謝jquery.animate-enhanced

的(你應該可以在IE中使用畫布this kind of thing

+0

你的小提琴演示沒有在github上工作,但在瀏覽器中的畫布是很酷的thx。 – colemande 2012-04-04 14:37:11

+1

演示現在已更新並託管在專用位置 – 2015-10-12 08:26:09