Affichage au Survol de la souris

Résolu
RaphaDragon Messages postés 15 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 19 août 2019 - Modifié le 17 août 2019 à 19:34
RaphaDragon Messages postés 15 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 19 août 2019 - 19 août 2019 à 18:53
Bonjour et merci pour l'aide que vous m'accorderez,

Donc, voici mon problème, j'ai une page en php, sur laquelle j' affiche une icone et un texte au survol de la souris, du moins ce que je voudrais.

 <div class="meteo">
        <!--<a href="#" onMouseOver="displayDivInfo('Je me nomme toto <br />essai');" onMouseOut="displayDivInfo()">-->
        <a href="#" onMouseOver="displayDivInfo('<?php echo($commentaire); ?>');" onMouseOut="displayDivInfo()">   
                            Météo du jour :   <img src=<?php echo($temps); ?> alt="Météo" /></a>
                       </div>



Mon JS


function displayDivInfo(text){
   alert(\''.$text.'\', \'Information !\');
    if(text){
        //Détection du navigateur
        is_ie = (navigator.userAgent.toLowerCase().indexOf("msie") != -1) && (navigator.userAgent.toLowerCase().indexOf("opera") == -1);
        
        //Création d'une div provisoire
        var divInfo = document.createElement('div');
        divInfo.style.position = 'absolute';
        document.onmousemove = function(e){
            x = (!is_ie ? e.pageX-window.pageXOffset : +event.x+document.body.scrollLeft);
            y = (!is_ie ? e.pageY-window.pageYOffset : +event.y+document.body.scrollTop);
            
           // divInfo.style.left = x+15+'px';
           // divInfo.style.top = y+15+'px';
                
                divInfo.style.left = x+20+'px';
                divInfo.style.top = y+30+'px';

        }
        divInfo.id = 'divInfo';
        divInfo.innerHTML = text;
        document.body.appendChild(divInfo);
    }
    else{
        document.onmousemove = '';
        document.body.removeChild(document?getElementById(divInfo));
    }
}



Si j'active le texte plutôt que la variable cela fonctionne, j en deduis que le navigateur n interprete pas mon php car j ai cette erreur
Uncaught SyntaxError: Invalid or unexpected token

mais voilà comment faire pour que cela fonctionne???

Merci de vos réponses.

3 réponses

@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
17 août 2019 à 20:23
bonjour

pas sur que le probleme vient de php le code js est un peut vieux.

teste avec ce code

function displayDivInfo(evt,text){

if(!document.getElementById('divInfo')){

var divInfo = document.createElement('div');
divInfo.id = 'divInfo';
divInfo.style.position = 'absolute';
document.body.appendChild(divInfo);
}


var el=document.getElementById('divInfo')

if(text){
	el.textContent=text;
	el.style.display='block'

	evt.currentTarget.onmousemove=function(evt){

		var el=document.getElementById('divInfo')
		var dde=document.body.scrollTop ? document.body : document.documentElement;
		evt =(!evt) ? window.event : evt;
		var XX =evt.clientX + dde.scrollLeft;
		var YY =evt.clientY + dde.scrollTop;
		el.style.top=YY-15+'px'
		el.style.left=XX+15+'px'
	}

}

else{
el.onmousemove = '';
el.style.display='none'
}
}


et il faut ajouter event dans la partie php

<div class="meteo">
        <!--<a href="#" onMouseOver="displayDivInfo(event,'Je me nomme toto <br />essai');" onMouseOut="displayDivInfo()">-->
        <a href="#" onMouseOver="displayDivInfo(event,'<?php echo($commentaire); ?>');" onMouseOut="displayDivInfo()">   
                            Météo du jour :   <img src=<?php echo($temps); ?> alt="Météo" /></a>
                       </div>



0
RaphaDragon Messages postés 15 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 19 août 2019
18 août 2019 à 10:35
Bonjour et merci d'avoir pris le temps de me répondre,

Donc dans mes essais avec ton code, cela s'affiche si c'est du texte pure la ligne 'Je me nomme toto' par exemple mais si c'est la variable php rien ne s'affiche.
Un véritable casse-tête
Si tu as une idée je suis preneur.

Encore merci et bon dimanche
0
RaphaDragon Messages postés 15 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 19 août 2019
18 août 2019 à 10:44
Cela avance, avec ton code si je fais

<div class="meteo">
<?php $commentaire = "Je me nomme Toto <br \>". "essai 2"; ?>
<!-- <a href="#" onMouseOver="displayDivInfo(event,'Je me nomme toto <br />essai');" onMouseOut="displayDivInfo()"> -->
<a href="#" onMouseOver="displayDivInfo(event,'<?php echo($commentaire); ?>');" onMouseOut="displayDivInfo()">
Météo du jour : <img src=<?php echo($temps); ?> alt="Météo" /></a>
</div>


Là cela fonctionne, même si il ne retourne pas à la ligne, donc maintenant cela provient du texte de ma variable.

Donc encore merci maintenant je recherche de ce coté là.
0
RaphaDragon Messages postés 15 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 19 août 2019
18 août 2019 à 18:31
Pour l'Affichage de l info au passage de la souris impeccable.
Probleme c est qu impossible qu il prenne en compte mon retour à la ligne dans le texte, une idée??

j'ai essayé avec <br /> avec "\r\n" plein de trucs pas moyen

Au cas ou merci
0
Rejoignez-nous