Défilement des couleurs du bg en javascript

Résolu/Fermé
ruvele Messages postés 18 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 29 mai 2008 - 19 mars 2008 à 16:29
ruvele Messages postés 18 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 29 mai 2008 - 19 mars 2008 à 17:40
Bonjour,

j'aimerais que mon background change de couleur tout seul... pour cela j'ai crée plusieurs chosesen javascript mais cela bug... pour que ça fonctionne je suis obligée de cliquer sur start puis stop puis start...

voici le code :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title>Pulse</title>
	
	<script language="JavaScript">
	<!--
	
	var tabl_couleurs = new Array();
	tabl_couleurs[0] = "#OOOOOO";
	tabl_couleurs[1] = "#111111";
	tabl_couleurs[2] = "#222222";
	tabl_couleurs[3] = "#333333";
	tabl_couleurs[4] = "#444444";
	tabl_couleurs[5] = "#555555";
	tabl_couleurs[6] = "#666666";
	tabl_couleurs[7] = "#777777";
	tabl_couleurs[8] = "#888888";
	tabl_couleurs[9] = "#999999";
	tabl_couleurs[10] = "#AAAAAA";
	tabl_couleurs[11] = "#BBBBBB";
	tabl_couleurs[12] = "#CCCCCC";
	tabl_couleurs[13] = "#DDDDDD";
	tabl_couleurs[14] = "#EEEEEE";
	tabl_couleurs[15] = "#FFFFFF";
	
	var i = 0;
	var dir = "up";
	var proc;
	
	function start() {
		if (proc == "up") {
				proc = window.setInterval('change_bg()', 100);	
			}
	}
	
	function stop() {
		window.clearInterval(proc);
			proc = "up";
	}
	
	function change_bg() {
		document.bgColor=tabl_couleurs
		[Math.floor(Math.random()*tabl_couleurs.length)]
	
	}
	
	//-->
	</script>
	
</head>

<body>

<a href="javascript:start();">Start</a> 
<br/>
<a href="javascript:stop();">Stop</a>

</body>
</html>




Est ce que quelqu'un a une idée ?

Merci d'avance pour votre aide
A voir également:

2 réponses

RAD ZONE Messages postés 5230 Date d'inscription samedi 20 janvier 2007 Statut Contributeur Dernière intervention 17 août 2024 1 360
19 mars 2008 à 16:47
SALUT

essaye ca
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head><script>


///////////////////////////////////////////////////////////////////////////
// CONFIGURATION DEBUT
///////////////////////////////////////////////////////////////////////////

// LA TU METS TES COULEURS 3 MINI
var colors=new Array("#FFFF00","#00FFFF","#5fc700","#854b00","#76e07c","#FFAC00","#FFFF66","#ff0000","#FFFFFF","#850044","#B56AFF","#56B1FF")

//PAUSE ENTRE LES CHANGEMENTS EN SECONDES
var pausebetweencolors=2

// EFFET DE DEGRADE seulement sur IE
var gradient_effect="horizontal"

//VITESSE 
var speed=20

//NOMBRE DE LOOP
var i_loopmax=1000

///////////////////////////////////////////////////////////////////////////
// CONFIGURATION FIN
///////////////////////////////////////////////////////////////////////////

// NE RIEN CHANGER EN DESSOUS
var pausesteps=40
var hexc = new Array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F')
var redcol_1
var redcol_2 
var redcol_1_b
var redcol_2_b 
var greencol_1 
var greencol_2 
var greencol_1_b 
var greencol_2_b
var bluecol_1 
var bluecol_2 
var bluecol_1_b 
var bluecol_2_b
 
var rgbredfrom
var rgbgreenfrom
var rgbbluefrom
var rgbredto
var rgbgreento
var rgbblueto
var rgbrednow
var rgbgreennow
var rgbbluenow

var rgbredfrom_b
var rgbgreenfrom_b
var rgbbluefrom_b
var rgbredto_b
var rgbgreento_b
var rgbblueto_b
var rgbrednow_b
var rgbgreennow_b
var rgbbluenow_b

var colorhexafrom
var colorhexato

var i_step=1
var i_loop=0
var i_colorsA=0
var i_colorsB=1
var i_colorsC=1
var i_colorsD=2

pausebetweencolors*=1000

var browserinfos=navigator.userAgent 
var ie4=document.all&&!document.getElementById
var ie5=document.all&&document.getElementById&&!browserinfos.match(/Opera/)
var ns4=document.layers
var ns6=document.getElementById&&!document.all
var opera=browserinfos.match(/Opera/)  
var browserok=ie4||ie5||ns4||ns6||opera

function translateintorgb() {

	var hexa=colors[i_colorsA]
	var hexared=hexa.substring(1,3)
	var hexagreen=hexa.substring(3,5)
	var hexablue=hexa.substring(5,7)
	rgbredfrom=parseInt("0x"+hexared)
	rgbgreenfrom=parseInt("0x"+hexagreen)
	rgbbluefrom=parseInt("0x"+hexablue)
	rgbrednow=rgbredfrom
	rgbgreennow=rgbgreenfrom
	rgbbluenow=rgbbluefrom
	
	var hexa=colors[i_colorsB]
	var hexared=hexa.substring(1,3)
	var hexagreen=hexa.substring(3,5)
	var hexablue=hexa.substring(5,7)
	rgbredto=parseInt("0x"+hexared)
	rgbgreento=parseInt("0x"+hexagreen)
	rgbblueto=parseInt("0x"+hexablue)
	
	var hexa=colors[i_colorsC]
	var hexared=hexa.substring(1,3)
	var hexagreen=hexa.substring(3,5)
	var hexablue=hexa.substring(5,7)
	rgbredfrom_b=parseInt("0x"+hexared)
	rgbgreenfrom_b=parseInt("0x"+hexagreen)
	rgbbluefrom_b=parseInt("0x"+hexablue)
	rgbrednow_b=rgbredfrom_b
	rgbgreennow_b=rgbgreenfrom_b
	rgbbluenow_b=rgbbluefrom_b
	
	var hexa=colors[i_colorsD]
	var hexared=hexa.substring(1,3)
	var hexagreen=hexa.substring(3,5)
	var hexablue=hexa.substring(5,7)
	rgbredto_b=parseInt("0x"+hexared)
	rgbgreento_b=parseInt("0x"+hexagreen)
	rgbblueto_b=parseInt("0x"+hexablue)
	i_colorsA++
	i_colorsB++
	i_colorsC++
	i_colorsD++
	if (i_colorsA>=colors.length) {i_colorsA=0}
	if (i_colorsB>=colors.length) {i_colorsB=0}
	if (i_colorsC>=colors.length) {i_colorsC=0}
	if (i_colorsD>=colors.length) {i_colorsD=0}
	
	changefromto()
}

function changefromto() {
	rgbrednow=rgbrednow-((rgbredfrom-rgbredto)/speed)
	rgbgreennow=rgbgreennow-((rgbgreenfrom-rgbgreento)/speed)
	rgbbluenow=rgbbluenow-((rgbbluefrom-rgbblueto)/speed)
	
	rgbrednow_b=rgbrednow_b-((rgbredfrom_b-rgbredto_b)/speed)
	rgbgreennow_b=rgbgreennow_b-((rgbgreenfrom_b-rgbgreento_b)/speed)
	rgbbluenow_b=rgbbluenow_b-((rgbbluefrom_b-rgbblueto_b)/speed)
	
	if (rgbrednow>255) {rgbrednow=255}
	if (rgbrednow<0) {rgbrednow=0}
	if (rgbgreennow>255) {rgbgreennow=255}
	if (rgbgreennow<0) {rgbgreennow=0}
	if (rgbbluenow>255) {rgbbluenow=255}
	if (rgbbluenow<0) {rgbbluenow=0}
	
	if (rgbrednow_b>255) {rgbrednow_b=255}
	if (rgbrednow_b<0) {rgbrednow_b=0}
	if (rgbgreennow_b>255) {rgbgreennow_b=255}
	if (rgbgreennow_b<0) {rgbgreennow_b=0}
	if (rgbbluenow_b>255) {rgbbluenow_b=255}
	if (rgbbluenow_b<0) {rgbbluenow_b=0}
	
	if (i_step<=speed) {
      	redcol_1 = hexc[Math.floor(rgbrednow/16)];
     	redcol_2 = hexc[Math.floor(rgbrednow)%16];
	 	greencol_1 = hexc[Math.floor(rgbgreennow/16)];
      	greencol_2 = hexc[Math.floor(rgbgreennow)%16];
	  	bluecol_1 = hexc[Math.floor(rgbbluenow/16)];
      	bluecol_2 = hexc[Math.floor(rgbbluenow)%16];
		
		redcol_1_b = hexc[Math.floor(rgbrednow_b/16)];
     	redcol_2_b = hexc[Math.floor(rgbrednow_b)%16];
	 	greencol_1_b = hexc[Math.floor(rgbgreennow_b/16)];
      	greencol_2_b = hexc[Math.floor(rgbgreennow_b)%16];
	  	bluecol_1_b = hexc[Math.floor(rgbbluenow_b/16)];
      	bluecol_2_b = hexc[Math.floor(rgbbluenow_b)%16];
	  	var backcolor="#"+redcol_1+redcol_2+greencol_1+greencol_2+bluecol_1+bluecol_2
		var backcolor_b="#"+redcol_1_b+redcol_2_b+greencol_1_b+greencol_2_b+bluecol_1_b+bluecol_2_b
		if (ie5 && gradient_effect!="none") {
			if (gradient_effect=="horizontal") {var gr_effect=1}
			if (gradient_effect=="vertical") {var gr_effect=0}
	  		document.body.style.filter=
"progid:DXImageTransform.Microsoft.Gradient(startColorstr="+backcolor+", endColorstr="+backcolor_b+", GradientType="+gr_effect+")"
		}
		else {
	  		document.bgColor=backcolor 
		}

		i_step++
		var timer=setTimeout("changefromto()",pausesteps);
	
    } 
  	else {
  		clearTimeout(timer)
		i_step=1
		i_loop++
		if (i_loop<i_loopmax) {var timer=setTimeout("translateintorgb()",pausebetweencolors);}
  	}
}


if (browserok) {
	window.onload=translateintorgb
}
</script>
  <meta name="generator" content="PSPad editor, www.pspad.com">
  <title></title>
  </head>
  <body>

  </body>
</html>



RAD
0
ruvele Messages postés 18 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 29 mai 2008 5
19 mars 2008 à 17:40
Merci beaucoup finalement j'ai trouvé.

voici la réponse la plus simple :

<code


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Pulse</title>

<script language="JavaScript">
<!--

var tabl_couleurs = new Array();
tabl_couleurs[0] = "#000000";
tabl_couleurs[1] = "#111111";
tabl_couleurs[2] = "#222222";
tabl_couleurs[3] = "#333333";
tabl_couleurs[4] = "#444444";
tabl_couleurs[5] = "#555555";
tabl_couleurs[6] = "#666666";
tabl_couleurs[7] = "#777777";
tabl_couleurs[8] = "#888888";
tabl_couleurs[9] = "#999999";
tabl_couleurs[10] = "#AAAAAA";
tabl_couleurs[11] = "#BBBBBB";
tabl_couleurs[12] = "#CCCCCC";
tabl_couleurs[13] = "#DDDDDD";
tabl_couleurs[14] = "#EEEEEE";
tabl_couleurs[15] = "#FFFFFF";

var i = 0;
var dir = "up";
var proc="reset";

function start() {

if (proc == "reset") {
proc = window.setInterval('changer_fond()', 70);
}
}

function stop() {
clearInterval(proc);
proc = "reset";
}

function changer_fond() {
document.bgColor=tabl_couleurs[i];
if(dir == "up") {

i++;

} else {

i--;
}

if(i == 0) { dir = "up"; }

if(i == 16) { dir= "down"; }
}
//-->
</script>

</head>

<body>

<a href="javascript:start();">start</a>
<br/>
<a href="javascript:stop();">stop</a>

</body>
</html>

</code>

;-)
0