[Résolu] Décalage d'écriture sur DIV flottante - 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 : [Résolu] Décalage d'écriture sur DIV flottante (/showthread.php?tid=5870) Pages :
1
2
|
[Résolu] Décalage d'écriture sur DIV flottante - Bad_dl - 23-12-2011 Bonjour, Je me heurte a un "petit" "bug" d'affichage. Je suis sur qu'il y a une bonne raison a ce "décalage" mais je rame complètement , donc je viens vous embetté. la situation: j'ai une carte générée en SVG ,on peut cliqué sur chaque case pour avoir des info sur celle ci. Ces infos s'affiche dans un DIV que je positionne au niveau du clique. Et voila mon probleme: l’écriture ne s'affiche qu'en dessous du SVG. 2 images pour mieux comprendre le probleme: (sur la deuxième j'ai manuellement réduit la hauteur du svg pour bien montré l'effet) Quelqu'un aurai la solution? (je débute en SVG , et j'ai beau cherché je trouve nul part de solution) Par avance merci RE: Décalage d'écriture sur DIV flottante - Myrina - 23-12-2011 Bonjour, il faudrait en montrer un peu plus pour que l'on puisse aider. C'est un tooltip en CSS? avec du javascript? Le tooltip est construit en SVG? ou en HTML (<div>)? Comment est fait l'activation du tooltip au niveau des objets SVG? RE: Décalage d'écriture sur DIV flottante - Bad_dl - 23-12-2011 La carte en svg est généré "a la volé" par php pour l'affichage. le positionnement du DIV est fait en javascript (le remplissage est généré par un appel AJAX) Le script java script: Code : function information(carte_id){ Code : <rect x="0" y="420" height="60" width="60" style="stroke:black; stroke-opacity:0.1;fill:url(#1);"> (la classe "carte" positionne l'image svg , la classe "information_personnage" (qui porte mal son nom d’ailleurs) gère le DIV d'information) Code : #carte je met pas tous car ça serai sans doute trop long et pas utile (enfin je pense) j'ai l'impression que mon probleme provient d'une "compatibilité" svg/html. Vue que si je réduit la taille du svg ,le décalage se réduit aussi.... RE: Décalage d'écriture sur DIV flottante - atra27 - 23-12-2011 déjà première chose, vérifie que le html (la div) prend le même point d'origine que ton svg? Car si c'est pas la même origine, ça sera forcément décalé C'est la première chose qui me viens a l'esprit... RE: Décalage d'écriture sur DIV flottante - Bad_dl - 23-12-2011 le truc c'est que la DIV (enfin son image) se positionne comme il faut. seul le texte se retrouve repoussé sous le svg :cogne: si ça continue , je vais repassé en html pure RE: Décalage d'écriture sur DIV flottante - Ter Rowan - 23-12-2011 est ce que tu peux nous montrer le message retour d'ajax, celui qui rentre dans la variable "html" : $('#information_personnage').append(html); RE: Décalage d'écriture sur DIV flottante - Myrina - 23-12-2011 Il y a plusieurs points qui m'interpellent: 1/
je m'attendais plutôt à une granularité à la case et non à la carte dans l'ensemble; ceci ne donne pas les mêmes coordonnées(x=e.pageX,y=e.pageY) quelle que soit la case cliquée?2/ Pourquoi ne pas utiliser plus simplement JQuery:
3/ pourquoi X-250et Y-600? 4/ si le background est bien positionné, comme le demande Ter Rowan, la structure du html reçu en retour de l'appel AJAX peut influencer RE: Décalage d'écriture sur DIV flottante - extraman - 23-12-2011 Salut, Juste au cas où, tu as sûrement ta div info dans ta div carte? Si c'est le cas, essaye juste de mettre position:absolute dans ton #information_personnage. C'est peut être faux, mais ça peut être un bug dû à ça. A+ RE: Décalage d'écriture sur DIV flottante - Ter Rowan - 23-12-2011 (23-12-2011, 03:09 PM)Myrina a écrit : Il y a plusieurs points qui m'interpellent:perso, ça ne me choque pas. En effet il me semble qu'il vaut mieux associé un événement à un conteneur plutôt que 1000 contenus (du moins, quand je manipulais scriptaculous, j avais constaté de sacré ralentissement par la méthode d'event sur le détail, mais bon, y a 5-6 ans depuis c'est peut être plus performant) De fait le pageX et pageY sont vécus en relatif par rapport à la carte entière. Et ça répond à ta question 3/ (coordonnées de la carte entière), enfin je dis ça à vue de nez RE: Décalage d'écriture sur DIV flottante - Bad_dl - 23-12-2011 Pour Myrina: 1) l'appel au js est fait par une fonction du svg , la seul solution (qui de plus me choque pas) a été celle ci. et je te rassure les coordonées change bien , d'ailleurs le haut de la DIV est toujours a la bonne place 2)Vue que le 1) marche bien.... j'ai pas cherché a utilisé Jquery seul 3)ils servent a "centré" le DIV par rapport a la position du clique 4)le retour ressemble a ça: Code : <h3>Information case:</h3> Pour extraman: Nop ma DIV information_personnage , n'est pas dans ma div carte Edit: j'ai testé la solution de Myrina , et ça change rien |