11484 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

Comme indiqué dans le titre, j’essaie de faire clignoter le background d'une balise en appelant par son ID ou sa Class (Plusieurs éléments a faire clignoter.)

Ce clignotement est déclenché par la lecture d'une balise d'un fichier status.xml

Le tout "fonctionne" mais ce n'est pas super... Smiley repuke

Si quelqu'un avez une autre méthode a me proposer...

( Je suis aussi preneur d'une autre méthode pour le parsing ... a savoir que mes test fait en Jquery n'ont pas fonctionné dû a un probleme de Cross Domain.)

Voici mon bout de script:




$(document).ready(function parse() { 
	// Pasing de toute la page xml
  var xmlhttp = new XMLHttpRequest();
  xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
	  fonction_led7(this);
    }
  };
  xmlhttp.open("GET", "http://192.168.1.19/status.xml", true);
  xmlhttp.send();


  
  // Lecture de la balise voulu
function fonction_led7(xml) {
  var x, i, xmlDoc, txt;
  xmlDoc = xml.responseXML;
  txt = "";
  x = xmlDoc.getElementsByTagName("led7");
  for (i = 0; i< x.length; i++) {
    txt += x[i].childNodes[0].nodeValue;
	
	// Reinitialisation du background si txt ne vaut pas 1
	$('#air_medicale').css({'background':'green'});
		$('.menu_mco').css({'background':'green'});
	
	// Si txt vaut alors on change le background
	if (txt == 1) {
		setTimeout(function(){ $('.menu_mco').css({'background':'red'}) }, 1400);
		setTimeout(function(){ $('#air_medicale').css({'background':'red'}) }, 1400);
		$('#air_medicale').css({'background':'green'});
		$('.menu_mco').css({'background':'green'});
		}
     }
	 // On rappel l'ensemble pour relancer le script
	setTimeout(function(){ parse() }, 1100);

 
 }
});




Merci à vous Smiley jap