|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||||||
|
Candidat au titre de Membre du Club
![]() |
Bonjour
Voilà je suis un grand débutant avec le javascript et j'essai de faire un affichage au survol d'une zone area shape depuis un champ d'une BDD ! Tout fonctionne bien lorsque l'enregistrement en bdd se fait avec un form et un input type text mais j'ai modifier pour mettre ckeditor et là j'ai plus rien qui s'affiche malgré que le texte soit bien enregistrer en BDD ! Donc j'espere que mes explications sont claire ! Pour inséré le texte enn base de donnée j'utilise ce code : Code :
Code :
Code :
__________________
|
||||||
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
Bonsoir,
merci de mettre le code HTML généré par le PHP. Les règles incontournables d'utilisation de ce forum
|
|
|
00
|
|
|
#3 | |||||||
|
Candidat au titre de Membre du Club
![]() |
Citation:
Pas grave on va rectifier le tir : Donc pour faire court j'ai modifier mon script alors je reposte les codes : Pour l'affichage : Code :
Code :
![]() Code :
Merci
__________________
|
|||||||
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Inscription : octobre 2009 Messages : 122 ![]() |
Tu essaies de montrer ou de cacher un element dont l'ID est "curseur" sauf que ... tu as plusieurs éléments dont l'ID est "curseur".
L'ID doit être unique dans la page. C'est déjà un problème. Tu utilises aussi dans tes appels de fonction "montre()" des chaines de caractères avec accents et espaces qui sont destinées à manipuler des éléments de ta page, c'est pas une bonne idée. Tes blocs "curseur" contiennent des éléments qui sont destinés à apparaître/disparaître et ces éléments sont censés réagir à du mouseover et mouseout, je suis pas sûr que ce soit terrible comme approche (comment faire réagit le mouseout/mouseover si l'élément est caché ?) Bref, je pense qu'il y a pas mal d'éléments de conception de page qui sont à revoir. |
|
|
00
|
|
|
#5 | |
|
Candidat au titre de Membre du Club
![]() |
Citation:
__________________
|
|
|
|
00
|
|
|
#6 | ||
|
Membre habitué
![]() Inscription : octobre 2009 Messages : 122 ![]() |
Tu caches toutes les données texte (issues de ton ckeditor) dans des Div avec un ID unique comme par exemple "departement_01", "departement_02" etc.
Sur ta carte avec des area, tu fais des appels du genre Code :
Dans ta fonction "montre()", tu copies le contenu html de ton Div dont tu passes l'id en paramètre (departement_01) dans ton Div "curseur" qui j'imagine est un genre de popup qui suit le curseur. |
||
|
|
00
|
|
|
#7 | |||||
|
Candidat au titre de Membre du Club
![]() |
Citation:
Je ne vois pas du tout comment faire vu que je traite tout ça en base de donné ! Comment je fais pour mettre Code :
onmouseover="montre('departement_01')"; etc... Code :
__________________
|
|||||
|
|
00
|
|
|
#8 | ||||
|
Membre habitué
![]() Inscription : octobre 2009 Messages : 122 ![]() |
Dans ta boucle qui génère les area, au lieu d'écrire $description, tu écris par exemple
le but est d'avoir un identifiant unique qui te permettra de choisir la bonne cible. A coté de ça tu boucles pour créer des div cachés dont l'id est également "departement_".$id et du coup lorsque tu survoles ton area, tu passes en paramètre un identifiant unique qui correspond à l'id du div caché qui contient les informations de ton département . D'un coté tu auras Code :
Code :
|
||||
|
|
00
|
|
|
#9 | ||||||||
|
Candidat au titre de Membre du Club
![]() |
Ok donc voilà ce que j'ai essayé :
Code :
pour la boucle : Code :
Code :
Code :
__________________
|
||||||||
|
|
00
|
|
|
#10 |
|
Membre habitué
![]() Inscription : octobre 2009 Messages : 122 ![]() |
- Tu n'as pas de cohérence entre ton div (id="curseur_01") et ton onmouseover (onmouseover="montre('departement_01')")
- Ton Div doit contenir le texte issu de ckeditor, pas de code javascript - Tu as encore ta fonction "montre(param)" a développer pour cherche le contenu du div ciblé pour le copier dans ton div "curseur" Le but est que lorsque tu survoles le département de l'Ain, tu appelles la fonction "montre()" avec le paramètre "departement_01". La fonction "montre()" va lire le contenu du div caché "departement_01" pour le copier dans le div "curseur" qui sera affiché et qui suivra la souris tant qu'elle est au dessus du département de l'Ain. Je ne sais pas comment être plus clair ... |
|
|
00
|
|
|
#11 | |
|
Candidat au titre de Membre du Club
![]() |
Citation:
Je vois pas du tout comment m'y prendre !
__________________
|
|
|
|
00
|
|
|
#12 | |
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
Citation:
en effet de ce que je vois tes balises AREA sont mal construite, problème avec les guillemets et les cotes Code :
<area href="#" shape='polygon' coords='422,...,267'" onmouseover="montre('departement_01')" onmouseout="cache()"> Code :
<area href="#" shape="polygon" coords="422,...,267" onmouseover="montre('departement_01')" onmouseout="cache()"> |
|
|
|
00
|
|
|
#13 | ||||||||
|
Candidat au titre de Membre du Club
![]() |
Bonjour
Ok code modifier pour être un peu plus dans ls normes ! Code :
echo '<area href="#" shape="polygon" coords="'.$area.'" onmouseover="montre('. $description .')" onmouseout="cache()">'; La boucle de l'area : Code :
Code :
les fonctions javascripts : Code :
Code :
__________________
|
||||||||
|
|
00
|
|
|
#14 | ||||
|
Membre habitué
![]() Inscription : octobre 2009 Messages : 122 ![]() |
Tu as remis $description dans les appels de ta fonction "montre()" et tes div ont encore l'id "curseur_xx"
Bon je pense qu'il faut que tu comprennes d'abord la logique générale. Lorsque tu survoles un département, tu veux que le texte correspondant à ton département s'affiche, c'est bien ça ? Donc pour pouvoir relier l'action de survol au texte, il faut utiliser un identifiant unique correspondant à ton div contenant les infos du département. grosso modo, il faut arriver à ça Code :
Code :
Tant que tu n'arrives pas à comprendre la logique que montre('departement_01') pourra interagir avec <div id="departement_01">, je peux pas plus t'aider |
||||
|
|
00
|
|
|
#15 | ||||
|
Candidat au titre de Membre du Club
![]() |
Oui effetivement j'ai pas fait gaffe donc :
Code :
echo '<area href="#" shape="polygon" coords="'.$area.'" onmouseover="montre("curseur_'. $id .'")" onmouseout="cache()">'; Code :
Code :
<area href="#" shape="polygon" coords="314,451,311,454,306,464,306,473,298,469,291,473,278,473,276,474,277,480,269,483,265,478,262,479,259,477,258,472,261,471,262,469,259,466,261,464,261,461,260,458,252,453,249,448,257,439,259,441,263,440,264,439,265,441,271,441,271,439,274,438,286,439,285,442,289,447,291,445,292,448,295,447,298,443,300,445,312,449,314,451" onmouseover="montre("curseur_11")" onmouseout="cache()"> Code :
__________________
|
||||
|
|
00
|
|
|
#16 |
|
Membre habitué
![]() Inscription : octobre 2009 Messages : 122 ![]() |
Maintenant il faut modifier ta fonction montre() pour chercher le contenu innerHTML de l'élément DOM dont tu fournis l'identifiant en paramètre et le copier dans l'élément DOM "curseur" et ça devrait être bon.
|
|
|
00
|
|
|
#17 | ||||||
|
Candidat au titre de Membre du Club
![]() |
oui bon la première partie je pense que maintenant j'ai compris !
Pour la deuxièm partie je suis moins sur et même pas sur du tout alors forcément quand je teste quelque chose ça fonctionne pas ! La fonction montre : Code :
Code :
Code :
<area href="#" shape="polygon" coords="226,32,225,38,229,42,233,50,236,50,238,55,236,61,234,69,235,73,219,76,200,72,196,66,190,65,183,59,186,56,183,49,179,46,179,39,185,38,185,31,191,29,194,25,205,24,210,27,215,26,218,28,222,28,226,32" onmouseover="montre("info","curseur_974")" onmouseout="cache()"> Code :
__________________
|
||||||
|
|
00
|
|
|
#18 | ||||
|
Membre habitué
![]() Inscription : octobre 2009 Messages : 122 ![]() |
non mais réfléchis à ce que tu écris ...
tu passes 2 paramètres à ta fonction montre() : une chaine de texte qui contient "info" dans tous les cas et ton élément unique. Au lieu d'utiliser ton identifiant unique, tu utilises la chaine text "info", donc impossible de choisir le bon élément ! Essaie ça : Code :
Code :
Sérieusement, tu es en train de développer un site en copiant collant des fonctions et des morceaux de code auxquels tu ne comprends visiblement rien du tout. C'est clairement pas sérieux et tu devrais apprendre les bases du javascript en suivant des tutos plutot que de faire n'importe quoi et risquer des failles dans ton site ... |
||||
|
|
00
|
|
|
#19 | ||||||||
|
Candidat au titre de Membre du Club
![]() |
Ok donc en premier merci pour la remise en place ! Effectivemnt au niveau javascript j'y entrave queu dalle
Après ds qu j'ai un pu de temps promis je m'y met en créant des mini script pour comprendre le fonctionnement et enfin arrivé a le faire tout seul ... même si parfois je suppose que j'aurai besoin d'un renseignement ou deux !! Je comprend bien qu'il faut que je m'y mette réellement.... Enfin bref revenons à nos moutons ! Donc j'ai modifié comme ceuci : 1 ere modif non fonctionnelle : Code :
Code :
echo '<area href="#" shape="polygon" coords="'.$area.'" onmouseover="montre("info","curseur_'. $id .'")" onmouseout="cache()">'; Donc j'ai modifié comme ceuci : 1 ere modif non fonctionnelle : Code :
Code :
echo '<area href="#" shape="polygon" coords="'.$area.'" onmouseover="montre("curseur_'. $id .'")" onmouseout="cache()">'; 1 ere méthode : Code :
<area href="#" shape="polygon" coords="422,267,425,269,425,275,419,278,419,283,416,286,414,286,414,295,412,307,407,313,397,299,394,300,391,304,386,303,380,303,377,298,374,298,371,290,373,282,378,263,384,264,388,263,393,266,397,273,400,274,400,276,402,276,406,272,409,274,409,276,413,276,418,273,422,267" onmouseover="montre("info","curseur_01")" onmouseout="cache()"> Code :
2ieme méthode : idem Code :
<area href="#" shape="polygon" coords="422,267,425,269,425,275,419,278,419,283,416,286,414,286,414,295,412,307,407,313,397,299,394,300,391,304,386,303,380,303,377,298,374,298,371,290,373,282,378,263,384,264,388,263,393,266,397,273,400,274,400,276,402,276,406,272,409,274,409,276,413,276,418,273,422,267" onmouseover="montre("curseur_01")" onmouseout="cache()"> Code :
merci
__________________
|
||||||||
|
|
00
|
|
|
#20 | ||
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
ton code généré est toujours incorrect
Code :
Code :
<area href="#" shape="polygon" coords="422,267,425,...,267" onmouseover="montre('info','curseur_01')" onmouseout="cache()"> |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com