L'incrémentation ne se fait pas
Bonjour,
J'ai le script suivant, et son comportement est plus que louche...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
var titleContent;
var txtContent;
var nbPhotos;
var allSlides;
var i = 1;
function nextContent(nb){
var infos = resultAjax("getContent", 186, nb); // resultAjax est une fonction envoyant une requête ajax et retournant le résultat sous forme de JSON
infos = infos.split('|');
titleContent = infos[0];
txtContent = infos[1];
nbPhotos = infos[2];
allSlides = eval('['+infos[3]+']');
return (titleContent!='' && txtContent!='' && nbPhotos!='' && allSlides!='') ? true : false;
}
function afficheContent(){
$(function(){
$("#titleContent").html(titleContent);
$("#txtContent").html(txtContent);
$.fn.supersized.options = {
navigation: 0, // << || >>
slide_counter: 0, // x / n
slide_captions: 0, // txt
slide_interval: (30/nbPhotos)*1000, // tps
slides : allSlides
};
$('#supersized').supersized();
});
}
// i vaut 1, ok
nextContent(i);
afficheContent();
window.setInterval(function(){
i++;
// i vaut toujours 1 Oo
if(nextContent(i)){
$("#content").fadeOut(200, function(){
afficheContent();
});
$("#content").fadeIn(200);
}
else{
// i ne revient jamais à 1
i=1;
}
}, 5000); |
Bref, en gros ce que j'aimerais c'est :
1) On affiche une première fois la page (via la fonction) avec le résultat de la requête.
2) Au bout de 30 secondes, on incrémente i de 1, et on redemande un envoie de requête.
- Si la requête retourne quelque chose, on affiche la page
- Sinon, on remet i à 1
La boucle est infinit et c'est ce que je souhaite.
D'où vient le PB svp ? Cela fait plusieurs heures que je me casse les dents la dessus et je ne vois vraiment pas...
Merci d'avance.