JeuWeb - Crée ton jeu par navigateur
<br /> dans une infobulle - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : <br /> dans une infobulle (/showthread.php?tid=1962)

Pages : 1 2


<br /> dans une infobulle - Kassak - 03-11-2007

Bonjour, alors je souhaite faire un retour a la ligne ( <br /> ou /n ) dans mon infobulle, seuleument il n'est pas pris en compte et il s'affiche a l'ecran.

Par exemple j'aurais affiché : KassaK <br /> pseudo 1 <br /> pseudo 2 etc...

Car celle ci est dans une boucle.

voici mon script et mon css :

Code :
<style type="text/css">
#infobulle{
    position: absolute;    
    visibility : hidden;
    border:1px solid #6699cc;
    padding: 10px;
        font-size: 0.8em;
        background-color:#eeeeee; color:#6699cc;
}
</style>

<script type="text/javascript">
// espacement entre le curseur et l'infobulle
cursor_padding = 5;

// gestion des navigateurs (IE, MOZ, NS)
nav = navigator.appName;

ie = document.all;
ns = document.layers;
fi = document.getElementById && !document.all;

if(!ie && !ns && !fi){
    alert("navigateur "+nav+" incompatible !");    
}

if(!ie){
    document.captureEvents(Event.MOUSEMOVE);     
}

document.onmousemove = get_mouse;

// recupere les coordonnees de la souris
// les affecte au style de la div infobulle
function get_mouse(e){
    if(ie){
        x = event.x;
        y = event.y;
        window.status = x;
    }else{
        x = e.pageX;
        y = e.pageY;
    }    
    
    bubble = document.getElementById("infobulle");
    bubble.style.left = x + cursor_padding;
    bubble.style.top = y + cursor_padding;
    
}


// affiche la bubble
function see_bubble(text){
    bubble.style.visibility = "visible";
        bubble.style.display = "block";
    
    // bubble.innerHTML = text;
    // déconseillé pas aux normes
    
    longueur_bubble = bubble.firstChild.length;
    bubble.firstChild.replaceData(0, longueur_bubble, text);
}

// cache la bubble
function kill_bubble(){
    bubble.style.visibility = "hidden";
        bubble.style.display = "none";
}
</script>

Merci


RE: <br /> dans une infobulle - Plume - 03-11-2007

Le JavaScript c'est pas vraiment mon domaine - si tant est qu'il y en ait un ^^ - mais tu as essayé ou pas avec "\n" ?


RE: <br /> dans une infobulle - Kassak - 03-11-2007

Voila le code ou je souhaite faire le retour a la ligne :

Code PHP :
<?php 
if(!empty($TabMAPjoueur[$x][$y])){?>
<td align="center" valign="middle"><a onmouseover="javascript:see_bubble('<? echo ''.$TabMAPjoueur2[$x][$y].' ('.$TabMAPjoueur3[$x][$y].')\nNiv '.$TabMAPjoueur4[$x][$y].''?>');" onmouseout="javascript:kill_bubble();">
<img border=0 src=skin/<? echo $TabMAPjoueur[$x][$y]?>.gif><span>
</span></a></td>
<?}


Le "\n" ca n'affiche meme plus l'infobulle, le \n tout seul, ne fait pas le retour a la ligne, mais je ne le vois aps non plus a l'ecran contrairement a avant


RE: <br /> dans une infobulle - Plume - 03-11-2007

Alots déjà en ' ', le \n n'est pas interprété en PHP Smile

Si j'comprends bien, ce qui suit ne fonctionne pas
Code PHP :
<? echo $TabMAPjoueur2[$x][$y] . ' (' . $TabMAPjoueur3[$x][$y] . ')' . "\n" . 'Niv ' .$TabMAPjoueur4[$x][$y] ; ?>



RE: <br /> dans une infobulle - Kassak - 03-11-2007

Avec les deux guillemets l'infobulle de s'affiche meme plus^^Avec le br on voit ecrit la balise entre les pseudos, et avec le \n seul rien ne se passeSmile


RE: <br /> dans une infobulle - Plume - 03-11-2007

Ca se fait avec le innerHTML ou bien ?


RE: <br /> dans une infobulle - Kassak - 03-11-2007

Ben je pense que le probleme doit venir d'un truc comme ca, mais je sais pas quoi modifier pour que ca marche


RE: <br /> dans une infobulle - V1nc3 - 03-11-2007

Peut etre une connerie, mais si tu méttais tout dans une variable, un ptit n2blr() (je sais plus le nom exact mais vous comprendrez ^^) et ensuite mettre la variable dans l'info bulle?


RE: <br /> dans une infobulle - Plume - 03-11-2007

Plutôt que d'utiliser les balises <a></a>, utilise les balises <div></div> Smile

[EDIT] C'est nl2br() : traduire par nl to br ~> New Line To Break


RE: <br /> dans une infobulle - Kassak - 03-11-2007

a ou div ca ne change rien, et je ne sais pas ce que c'est que nl2br() ?

J'avais deja pensé a mettre dans une variable avant mais le probleme c'est que c'est dans une boucle tout ca Wink