Boucler des images avec AJAX

Said_de_lyon Messages postés 22 Statut Membre -  
DelNC Messages postés 2360 Statut Membre -
Voici un algorithme qui ne fonctionne que sous IE.
"graphe" est un graphique réalisé en PHP.
Sous IE tous les graphique depuis la periode_debut_profilage jusque la periode_fin_profilage sont affichés.
Sous les autres navigateurs, il y a le temps d'attente de l'affichage de tous les graphes, mais il ne s'affiche que le dernier graphe.


Je demande donc de l'aide.

Merci d'avance.

Saïd_de_Lyon



$('#graphe_profilage').bind('click' , function()
{

delta_days = 0;

periode = $('#periode_debut_profilage').text();

periode_debut_profilage = addDaysToDate( periode , delta_days);

while ( periode_debut_profilage != $('#periode_fin_profilage').text() )
{
$.ajax(
{
type: 'POST',

url: 'ajax_graphe.php',

dataType: 'json',

data : {debut : periode_debut_profilage , fin : $('#periode_fin_profilage').text() } ,

success: function(graphe)
{
$('#graphique_profilage').delay(10).replaceWith('<div id="graphique_profilage" style="margin-left:15%;"><img src="graphique/' + graphe + '" height="500px" width="90%" style="z-index:5; position:relative"/></div>');
}

});

delta_days++;

periode = $('#periode_debut_profilage').text();

periode_debut_profilage = addDaysToDate( periode , delta_days);

}

$('#arret_profilage').delay(delta_days * 70).slideDown('slow');

});




$('#arret_profilage').bind('click' , function()
{
$('#graphique_profilage').slideUp('slow');

$(this).slideUp('slow');

});

1 réponse

DelNC Messages postés 2360 Statut Membre 2 006
 
Bonjour,

je ne suis pas certaine de comprendre ce que vous voulez.

Si vous voulez faire une suite d'images qui passent les unes après les autres essayez ceci

Dans le body

<center>
<script type="text/javascript">
var tab = ["../images/image1.jpg",
"../images/image2.jpg",
"../images/image3.jpg"];
var secondes = 10;
var numero = -1;
var
aleatoire = false;

function changerImage () {
if (aleatoire) {
var n = numero;
while (n == numero) {
n = Math.floor(Math.random() *
tab.length);
}
numero = n;
}
else {
numero++;
if (numero >= tab.length) numero =0;
}
document.getElementById('../images/image1.jpg').src =
tab[numero];
setTimeout("changerImage();", secondes*200);
}
</script>


<center>
<img width="150" src="" id="../images/cimage1.jpg"/>
<script type="text/javascript">
<!--
changerImage();
// -->
</script>
</center>
1