Impossibilité de stopper un setInterval
Bonjour à tous,
Je cherche à déclencher une fonction qui fait changer le titre de ma page grâce à setInterval et au bout d'un temps donné à l'arrêter. Pour que vous ayez toutes les infos, je précise que la page n'est chargée qu'une fois et que le reste de son contenu est rechargé via ajax et d'autres setInterval.
Voici les portions de code impliquées :
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
|
var edition = setInterval(false, 0);
function reloadComment()
{
$.ajax({
type: "POST",
url: 'ajax/outilTp.ajax.php',
dataType: 'json',
data: {
action: 'rafraichir_commentaire'
},
success: function (response) {
if(response.MOD == '1' && response.BL_EN_EDITION == '2'){
startClignote();
}
if(response.MOD == '3'){
stopClignote();// histoire d'être sûr!
}
if($('div#commentaire_sup').html()!=response.TEXTE_COMMENTAIRE) {
$('div#commentaire_sup').html(response.TEXTE_COMMENTAIRE);
}
},
error: function (xml, err) {
}
});
}
function titreClignote(){
if(document.title == "Changement - EVENEMENTS"){
document.title = "nouveau commentaire";
}
else {
document.title = "Changement - EVENEMENTS";
}
}
function startClignote(){
edition = setInterval(titreClignote, 2000);
setTimeout(stopClignote, 900000);
}
function stopClignote(){
clearInterval(edition);
document.title = "Changement - EVENEMENTS";
} |
Par ailleurs, je précise que je n'ai pas de problème de réception des informations JSON en ajax, celles-ci sont bien envoyées. (MOD=1 ou MOD=3 et BL_EN_EDITION=2...)
Je pense qu'il s'agit d'un problème de scope, mais je ne trouve pas comment.
Pouvez-vous m'éclairer ?
Merci