Encore un script useless pour passer le temps mais celui-ci vous pouvez l’intégrer sur votre site/blog.

Language : JavaScript

Dépendance : jQuery

Type d’exécution : Local

Description : Ce script génère et affiche un sapin de noël avec boules animées de couleurs !

Fonctionnement : Remplit un tableau HTML puis exécute toutes les 500ms le changement de couleur.

Exemple :

Download : Script-Exemple

Source Code :

//fonction de génération de sapin
function gen_sapin_noel(h_def,prob_ball){
 
//constantes vous pouvez les modifier et admirer !!! enjoy
//var h_def = 10;
//var prob_ball = 40;
 
//code génération du sapin
var sapin_de_noel = "";
var nbr_balls = 0;
for(var i=0 ; i < h_def ; i++){
var nbr_stars = (i*2)-1 ;
var stars = "";
	for(var j=0 ; j < nbr_stars ; j++) 	{ 		 		//ecriture du code pour ajouter les boules LOL 		if(Math.round(Math.random()*51) > prob_ball){
			nbr_balls++;
			stars += "<span class="\&quot;balln&quot;+">●</span>";
		}
		else{
			stars += "*";
		}
	}
 
sapin_de_noel += "
 
"+stars+"
 
";
 
}
//pied de sapin
var pied= "";
for(var j=0 ; j &lt; Math.round(((h_def*2)-1)*0.25) ; j++){
pied += "*";
}
for(var i=0 ; i &lt; Math.round(h_def*0.30) ; i++){
	sapin_de_noel += "
 
"+pied+"
 
";
}
 
ar_sapin_de_noel = [sapin_de_noel, nbr_balls] ;
 
return ar_sapin_de_noel;
}
 
//main
//Créer les sapins
//Selectionne tous les
 
var i = 0;
var max_balls = 0;
while($(".sapin_noel")[i] != null){
var sapin_gen = gen_sapin_noel(10,40);
$(".sapin_noel")[i].innerHTML = sapin_gen[0];//je pense que c'est dégueulasse de l'écrire comme ça ...(innerHTML pour un table) je suis un Newbe en javascript
if(sapin_gen[1] &gt; max_balls) max_balls = sapin_gen[1] ;
i++;
}
 
//fonction pour animer !
function sapin_anim(){
for(var i=1 ; i != max_balls+1 ; i++){
//def une couleur aléatoire
	$(".balln"+i).css("color" , '#'+Math.floor(Math.random()*16777215).toString(16));
}
 }
 
//animation du sapin
sapin_anim();
 var timer=setInterval("sapin_anim()", 500);
Catégories : Développement

0 commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *