Créer des flocons de neige dans Jquery

J’ai créé des flocons de neige dans jQuery.Créer et supprimer un div peut empêcher le script de répondre. À l’heure actuelle, j’ai essayé jQuery avec animate() Je veux générer les flocons avec 20 en même temps de chargement de la page. Je ne suis pas sûr quand j’ai essayé cette méthode peut causer ce moyen insensible (le navigateur est devenu trop lent)

Voici le nouveau code jquery

 function jquerysnow() { snowCount = 20; var snow = $('
'); $('#snowflakes').prepend(snow); snowX = Math.floor(Math.random() * $('#snowflakes').width()); snowSpd = Math.floor(Math.random() * (500) * 20); snow.css({'left':snowX+'px'}); snow.html('*'); snow.animate({ top: "500px", opacity : "0", }, 2000, function(){ $(this).remove(); jquerysnow(); }); } jquerysnow();

Voir ici un violon

Maintenant, il montre un flocon à la fois, une fois que les flocons disparaissent, il génère le suivant. Comment puis-je générer plusieurs paillettes sans script ne répondant pas.

Vérifiez cela, assez simple, je viens d’append une fonction qui déclenche jquerysnow (), puis s’appelle à nouveau avec un temps aléatoire

code mis à jour maintenant, il va juste créer 20 flocons de neige

 snowCount = 0; function snowFlakes(){ console.log(snowCount); if(snowCount > 20){ return false }else{ var randomTime = Math.floor(Math.random() * (500) * 2); setTimeout(function(){ snowCount = snowCount +1; jquerysnow(); snowFlakes(); },randomTime); } } function jquerysnow() { var snow = $('
'); $('#snowflakes').prepend(snow); snowX = Math.floor(Math.random() * $('#snowflakes').width()); snowSpd = Math.floor(Math.random() * (500) * 20); snow.css({'left':snowX+'px'}); snow.html('*'); snow.animate({ top: "500px", opacity : "0", }, 2000, function(){ $(this).remove(); //jquerysnow(); }); } snowFlakes()

http://jsfiddle.net/v7LWx/390/

Je viens juste de finir d’écrire un article sur le sujet et je pensais le partager.

Ce n’est pas très jQuery-lourd cependant, la plupart du temps pur bon vieux javascript. Mais il produit un effet de chute de neige assez décent.

Alors, pour ceux que ça intéresse, ça y est!