Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1739 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  ecriture de div "à la volée"

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ecriture de div "à la volée"

n°2021662
b440
Posté le 07-09-2010 à 15:59:50  profilanswer
 

Bonjour,
 
Je viens solliciter votre aide pour un souci avec du javascript, avec lequel je ne suis pas super à l'aise j'avoue.
 
Quelques explications:
 
Le code ci-dessous va interroger une base de donnée (à l'aide d'un XHR via une page php).
La page php retourne un résultat qui ressemble à ça: 1-hotel du Lac-50-100*/*3-hotel Beau Rivage-25-25*/*4-Royal Plazza-250-380*/*5-Palace Montreux-110-640.
Le résultat est repris par le javascript via une variable 'rep' puis splitée une première fois avec le '*/*', puis chaque entrée du premier tableau est re splité cette fois avec le '-'.
Jusque la tout va bien...
(Je sens déjà que je vais me faire incendier pour mes méthodes de boucherons ;-) )
 
Le premier souci:
Lors de la création de la div tous les éléments sont bien pris en compte...sauf sur le dernier tour de la boucle, celle-ci oublie l'attribut "top".
J'avoue ne pas comprendre pourquoi...
 
Le second souci:
Lors de la création des fonctions:
 

Code :
  1. maDiv.onmouseover = function() {document.getElementById('over' + hotelDetail[0]).style.display = 'block';};
  2. maDiv.onmouseout = function() {document.getElementById('over' + hotelDetail[0]).style.display = 'none';};


 
Le javascript écrit à chaque tours de boucle la même valeur pour: document.getElementById('over' + hotelDetail[0]),  
soit la valeur de la dernière boucle, par exemple 'over3', au lieu d'écrire 'over1' 'over2' 'over3'.
J'avoue la aussi ne pas comprendre pourquoi.
 
 
Voici le code incriminé:

Code :
  1. <script type="text/javascript">
  2. function selectHotel()
  3. {
  4.    var xhr=null;
  5.  if (window.XMLHttpRequest) {
  6.   xhr = new XMLHttpRequest();
  7.  }
  8.  else if (window.ActiveXObject)
  9.  {
  10.   xhr = new ActiveXObject("Microsoft.XMLHTTP" );
  11.  }
  12.  xhr.open("GET", "" + 'testhotel.php?do=4' + "", false);
  13.  xhr.send(null);
  14.  var rep = xhr.responseText;
  15.  hotelActiv=rep.split('*/*');
  16.  for(x in hotelActiv)
  17.  {
  18.   hotelDetail=hotelActiv[x].split('-');
  19.   //alert(hotelDetail[1]);
  20.   maDiv= document.createElement("div" );
  21.   maDiv.id = 'a' + hotelDetail[0];
  22.   maDiv.style.top= hotelDetail[3] + 'px';
  23.   maDiv.style.width='20px';
  24.   maDiv.style.height='20px';
  25.   maDiv.style.backgroundImage = "url('img/btn_carte_redPoint.jpg')";
  26.   maDiv.style.position="absolute"
  27.   maDiv.style.left = hotelDetail[2] + 'px';
  28.   maDiv.style.zIndex='20';
  29.   maDiv.onmouseover = function() {document.getElementById('over' + hotelDetail[0]).style.display = 'block';};
  30.   maDiv.onmouseout = function() {document.getElementById('over' + hotelDetail[0]).style.display = 'none';};
  31.   document.body.appendChild(maDiv);
  32.   maDiv2 = document.createElement("div" );
  33.   maDiv2.id = 'over' + hotelDetail[0];
  34.   maDiv2.style.height='20px';
  35.   maDiv2.style.backgroundColor='#ff0000';
  36.   maDiv2.innerHTML = hotelDetail[1];
  37.   maDiv2.style.display='none';
  38.   document.body.appendChild(maDiv2);
  39.  }


 
Merci pour votre future aide!!

mood
Publicité
Posté le 07-09-2010 à 15:59:50  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  ecriture de div "à la volée"

 

Sujets relatifs
Comment marche un upload? droit d'écriture sur un dossierEcriture dans un fichier de log
[shell] récupération infos dans .txt et écriture dans un autre fichierécriture base de registre
[C] Ecriture dans un fichierRecharger un fichier javascript à la volée
Formatage de nombres à voléeEncodage MJPEG à la volée
Probleme d'écriture pour un client (JAVA)Probleme dans l'ecriture un bat
Plus de sujets relatifs à : ecriture de div "à la volée"


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR