|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre à l'essai
![]() Inscription : août 2011 Messages : 43 ![]() |
Bonjour tout le monde,
J'ai une image découpée en plusieurs zones. Pour chacune des zones, je cherche à superposer d'autres images plus petites et un peu plus bas une zone de texte pouvant contenir des liens et des listes. Cette superposition doit se produire lorsque la souris passe sur ces zones, rester afficher lorsque l'utilisateur clique sur une zone pour permettre de cliquer sur les liens, et disparaître lorsque l'utilisateur reclique sur cette zone. J'ai réussi à programmer de manière à afficher les petites images lorsque la souris passe au-dessus des zones. Malheureusement, je rencontre 2 problèmes : 1/ Tout d'abord, cette affichage n'est pas constant : à certains endroits de la zone, je n'ai plus de superposition 2/ Je n'ai pas réussi à mettre en place le code pour afficher et faire disparaître la superposition en cliquant une zone (pour l'instant, j'ai concentré mes recherches sur une zone, mais à terme toutes les zones seront concernées). Voici le code : Code :
|
||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 574 ![]() |
Code :
__________________
...pour les linguistes et les curieux >>> générateur de phrases aléatoires __________________ |
||
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : août 2011 Messages : 43 ![]() |
C'est pas très évident. Leur site est mort, aucun moyen de les contacter. Voici leur lien : http://coin.des.experts.pagesperso-orange.fr/index.html
|
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
Bonjour,
il serait peu être judicieux, à partir de la méthodologie, de repartir sur un script très épuré... - document.layerss |
|
|
00
|
|
|
#5 | |
|
Membre à l'essai
![]() Inscription : août 2011 Messages : 43 ![]() |
Bonsoir NoSmoking,
Citation:
Mais je ne vois pas ce qui est superflu. Tu cites document.layers et document.all, mais si je comprends bien, cela permet de faire fonctionner ce code sous différentes versions d'IE. Est-ce inutile à présent d'inclure ces versions dans mon code ? Tu mentionnes également des paramètres non utilisés. Tu peux être plus précis ? Je suis encore loin d'être un expert du javascript, loin de là, donc je ne vois pas tout non plus, mais il me semble que tout est utilisé. Il y a peut-être moyen de faire plus simple aussi, mais je ne sais pas trop comment. |
|
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 574 ![]() |
Ce qui est un peu décourageant, (je parle en mon nom mais j'imagine que d'autres s'y retrouvent à peu près ^^) c'est que l'ensemble est très daté, à la fois dans la syntaxe et dans la manière d'organiser le code, de désigner les éléments, etc.
Du coup, soit on t'aide à mettre des "rustines" sur les problèmes ponctuels, au prix de devoir se replonger dans les spécificités exotiques liées aux vieux navigateurs (un seul exemple : les commentaires html dans la balise script pour éviter un bug avec Netscape Navigator 1.0 si je ne m'abuse Mais je t'avoue que la seconde proposition est de plus en plus souvent mal prise par les membres, et j'insiste sur le côté constructif de la démarche que je propose : ce n'est pas une manière de dire "Va voir sur la FAQ et c'est réglé", je sais bien que ça ne résoud pas ton problème immédiat
__________________
...pour les linguistes et les curieux >>> générateur de phrases aléatoires __________________ |
|
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : août 2011 Messages : 43 ![]() |
Je voudrai bien reprendre les bases du javascript, que je n'ai fait qu'apprendre petit bout par petit bout en fonction de mes besoins. Mais malheureusement il s'agit ici d'un point mineur à un projet professionnel (la construction d'un site intranet sous Sharepoint) auquel on ne m'a pas accordé beaucoup de temps (j'ai déjà du mal à me dépatouiller avec Sharepoint). J'accorderai plus de temps à ma formation Javascript un peu plus tard.
Tout ce que je connais, c'est la fonctionnalité map - area que j'avais déjà utilisée avec succès auparavant. Je sais également que les tag onclick, onmouseover et onmouseout sont certainement à utiliser. J'étais donc parti de là pour mes recherches : voir comment afficher une zone de texte au passage ou au clic de la souris sur un area, et j'étais tombé sur ce vieux code. Mais ça ne donne rien de très concluant. Quelqu'un aurait-il une solution plus rapide que se plonger dans la FAQ ou un tutorial pour ce point particulier ? Si oui, je vous en serai infiniement reconnaissant |
|
|
00
|
|
|
#8 | |||
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
Citation:
voila déjà ton script allégé, sans garantie de fonctionnement comme tu l'entends Code :
|
|||
|
|
00
|
|
|
#9 |
|
Membre à l'essai
![]() Inscription : août 2011 Messages : 43 ![]() |
Merci pour ton aide. J'ai vu que le code a été pas mal simplifié et que le paramètre event a été supprimé.
Je viens d'essayer. Pas de bug supplémentaire, mais malheureusement ça ne change absolument rien. J'ai toujours le même effet, qui ressemble presque à un effet de scintillement lorsque ma souris se déplace sur les area (apparition de l'image sur une toute petite zone de l'area, puis disparition sur la zone voisine, puis réapparition...) J'ai peut-être un élément d'explication : Je souhaite entre autre superposer une petite image B avec une <area> de ma grande image A, de telle sorte à afficher l'image B lorsque ma souris passe sur cette <area> ou lorsque je clique dessus. Cette <area> a donc la même géométrie que mon image B. Se pourrait-il que cet effet se produise à cause de cette superposition ? Que lorsque ma souris est sur l'<area>, je pointe alors l'image B uniquement et non plus l'<area>, et donc mon image B disparait dès que je déplace ma souris ? Edit : Je confirme en tout cas que ce phénomène disparait si mes images ne se superposent pas avec les <area>. Dès qu'il y a un décallage entre une <area> et la petite image à faire apparaître au passage de la souris sur le <area>, cette image ne disparait pas tant que je reste sur l'<area>. Il reste à trouver un moyen de conserver cette image affichée. Peut-être en utilisant une variable qui change si ma souris quitte ou entre dans une <area> En revanche, comme tu l'as annoncé NoSmoking, la fonction bulleclic ne permet pas pour l'instant de conserver l'affichage si ma souris sort d'une <area>. Je vais faire 2-3 tentatives pour voir si je peux résoudre ces 2 problèmes. |
|
|
00
|
|
|
#10 |
|
Membre à l'essai
![]() Inscription : août 2011 Messages : 43 ![]() |
Peu de succès dans mes tentatives de résolution. Si quelqu'un a une piste pour résoudre ces problèmes, je suis preneur
|
|
|
00
|
|
|
#11 | |
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
Citation:
lorsque tu passes dans la zone active de la map, l'événement mouseover se déclenche entrainant l'apparition de l'image, qui du coup masque la zone active de la map et déclenche le mouseout faisant disparaît l'image...et ainsi de suite. Une solution est de supprimer le onmouseout de la map et de le mettre sur l'image qui apparaît, mais si il s'agit d'un découpage il te faudra utiliser également une map pour celle ci. Ceci étant valable si il y a chevauchement parfait des images. Concernant le clic, comme l'image apparaissant est dessus l'image de dessous ( ) cette dernière ne reçoit pas l'événement. Il te faut donc également transférer la gestion sur l'image qui apparaît.
|
|
|
|
00
|
|
|
#12 | ||
|
Membre à l'essai
![]() Inscription : août 2011 Messages : 43 ![]() |
Bonjour,
Je me suis basé sur tes conseils, NoSmoking. J'ai donc modifié le code, que voici (je n'ai pas tout mis pour faciliter la lecture) : Code :
Il me reste cependant un problème que je n'arrive pas encore à résoudre : Le clic n'est pas encore optimal. Je comprends pourquoi (ma variable clic est identique pour chaque bulle), mais je n'ai pas encore trouvé le moyen de l'appliquer de manière à ce qu'un premier clic fige la bulle concernée, et un second clic sur cette même bulle la fasse disparaître, tandis qu'un second clic sur une autre bulle fait disparaitre la première bulle et fige la seconde. Peut-être qu'une nouvelle fonction doit être utilisée, mais je n'en suis pas sur et je ne vois pas trop quoi coder. Comment pourrait-on corriger ce code pour qu'il me donne l'effet désiré ? |
||
|
|
00
|
|
|
#13 |
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
- tu peux passer par une variable qui stocke la bulle en cours.
- tu peux également gérer un variable d'état propre à chaque bulle |
|
|
00
|
|
|
#14 |
|
Membre à l'essai
![]() Inscription : août 2011 Messages : 43 ![]() |
Malheureusement, mon projet vient de toucher à sa fin sans que je n'ai pu essayer.
Je laisse cette discussion ouverte au cas où quelqu'un peut me donner une solution ou si j'obtiens une petite prolongation du projet. En tout cas, merci pour l'aide que vous m'avez donnée. |
|
|
00
|
|
|
#15 |
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
je pense que ce n'est pas une raison pour que tu cesses d'essayer, la solution n'est pas loin, tu as la solution au bout du clavier...
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com