Anonymus Posté 20 Avril 2006 Posté 20 Avril 2006 Bonjour, J'ai une feuille de style xsl, qui devrait afficher un popup javascript. Ce javascript marche très bien sur une page html classique, mais refuse de marcher avec la feuille xsl. le fichier xsl : <?xml version="1.0" encoding="UTF-8" ?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" version="4.01" encoding="ISO-8859-1" doctype-public="-//W3C//DTD HTML 4.01//EN" doctype-system="http://www.w3.org/TR/html4/strict.dtd" /> <xsl:template match="/"> <html> <head><script language="JavaScript" type="text/javascript" src="js/moteur.xsl.js.php"></script><link rel="stylesheet" type="text/css" href="css/moteur.xsl.css.php"/></head><div id="curseur" class="infobulle"></div> <body> <xsl:for-each select="hotels/hotel"> <table border="0" width="100%" cellspacing="0" cellpadding="0" style="text-align:justify"> <tr> <td rowspan="2" valign="top" width="10%"> <img height="75px" width="75px"> <xsl:attribute name="src"> <xsl:value-of select="photo" /> </xsl:attribute> </img> </td> <td valign="top" width="80%"> <xsl:value-of select="nomhotel" /> <img src="images/star.jpg" border="0" /> <xsl:if test="categorie > '1'"> <img src="images/star.jpg" border="0" /> </xsl:if> <xsl:if test="categorie > '2'"> <img src="images/star.jpg" border="0" /> </xsl:if> <xsl:if test="categorie > '3'"> <img src="images/star.jpg" border="0" /> </xsl:if> <xsl:if test="categorie > '4'"> <img src="images/star.jpg" /> </xsl:if> </td> <td valign="top" rowspan="2" width="10%"> <br /> Prix : <font color="red"> <b> <xsl:value-of select="disponibilites/prix" /> </b> IVA inclus <br /> - par chambre</font> <br /> <font color="red"> <xsl:choose> <xsl:when test="disponibilites/servicio='BB'">- petit dejeuner inclus</xsl:when> <xsl:when test="disponibilites/servicio = 'OB'">- logement seul</xsl:when> <xsl:when test="disponibilites/servicio = 'RO'">- logement seul</xsl:when> <xsl:when test="disponibilites/servicio = 'HB'">- demi pension</xsl:when> <xsl:when test="disponibilites/servicio = 'FB'">- pension complete</xsl:when> <xsl:otherwise>- Logement seul</xsl:otherwise> </xsl:choose> </font> <br /> <font color="red">- pour <xsl:value-of select="disponibilites/duree" /> jour(s)</font> <br /> <p /> <a target="_top"> <xsl:attribute name="href"> <xsl:value-of select="urlresa" /> </xsl:attribute> <img src="images/reserv1.jpg" border="0" /> </a> <br /> <xsl:value-of select="substring-before(//paxes1,'-')" /> personne(s) <br /> <xsl:value-of select="//n_habitaciones" /> chambre(s) <br /> type : <a disable-output-escaping="yes" onMouseOver="montre()" onMouseOut="cache()"><xsl:value-of select="//disponibilites/typehabitation" /></a> </td> </tr> <tr> <td valign="top"> <font size="2"> <xsl:value-of select="//description" /></font> </td> </tr> </table> <hr width="97%" /> </xsl:for-each> </body> </html> </xsl:template></xsl:stylesheet> le javascript (dans un fichier externe): <!--function GetId(id){return document.getElementById(id);}var i=false; // La variable i nous dit si la bulle est visible ou nonfunction move(e) { if(i) { // Si la bulle est visible, on calcul en temps reel sa position ideale if (navigator.appName!="Microsoft Internet Explorer") { // Si on est pas sous IE GetId("curseur").style.left=e.pageX + 5+"px"; GetId("curseur").style.top=e.pageY + 10+"px"; } else { GetId("curseur").style.left=window.event.x + 5+"px"; GetId("curseur").style.top=window.event.y + 10 + document.body.scrollTop+"px"; // Sous IE, voici un petit hack pour que lors du scroll la position reste bonne ! } }}function montre() { text ="<font color=red>COUCOU, c'est un test !!</font>"; if(i==false) { GetId("curseur").style.visibility="visible"; // Si il est cacher (la verif n'est qu'une securité) on le rend visible. GetId("curseur").innerHTML = text; // Cette fonction est a améliorer, il parait qu'elle n'est pas valide (mais elle marche) i=true; }}function cache() {if(i==true) {GetId("curseur").style.visibility="hidden"; // Si la bulle etais visible on la cachei=false;}}document.onmousemove=move; // des que la souris bouge, on appelle la fonction move pour mettre a jour la position de la bulle.//--> et la feuille de style css : <!-- .infobulle{ position: absolute; visibility : hidden; border: 3px solid #FE9438; padding: 10px; font-family: Verdana, Arial; font-size: 10px; background-color: #fcfcfc; margin-left:-400px; } body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; } --> Dans le meilleur des cas, celle-ci s'affiche tout en haut du fichier, alors qu'elle devrait s'afficher juste à coté du lien <a> qu'elle est sensée renseigner.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant