IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Images map et javascript


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 47
    Points : 25
    Points
    25
    Par défaut Images map et javascript
    Bonjour à tous,
    J'aurais besoin d'un coup de main pour un problème de javascript...
    J'ai plusieurs images superposées les unes sur les autres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <img src="map.png" id="imgMap" alt="Map" usemap="#map"/>
    <img src="1.png" id="map1" alt="Map 1" usemap="#map1" class="sousMap" />
    <img src="2.png" id="map2" alt="Map 2" usemap="#map2" class="sousMap" />
    <img src="3.png" id="map3" alt="Map 3" usemap="#map3" class="sousMap" />
    La première image à la propriété visibility:visible, et les autres hidden. Il s'agit d'images cliquable. Ainsi au clic sur la zone 1, je cherche à cacher la première image (id:imgMap) et afficher l'image avec l'id "map1", au clic sur la zone 2, il faut afficher l'image "map2", etc...
    Tout fonctionne très bien sur Firefox, mais sous IE7, les "sous-images" ne s'affichent pas. L'événement "click" est bien executé, l'image "map.png" est bien cachée mais l'autre image ne s'affiche pas.
    Voici mon code JS (Mootools) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $$('#imgMap area').addEvents({
    	'click':function(){
    		$('imgMap').fade("hide");
    		var map = 'map'+this.get("id");
    		$(map).fade("show");
    		return false;
    	}
    });
    J'ai tout essayé, utiliser $(map).setStyle('visibility','visible') à la place de fade("show"), utiliser display : none/block à la place de visibility, mettre les images dans des div et cacher/afficher les div... Ça fonctionne toujours sous Firefox, mais jamais sous IE...

    Merci d'avance pour votre aide !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    mets un css display none dans le callback du fade ?
    ou modifies son z-index...
    visibility ne supprime pas l'image du flux

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    J'ai essayé de modifier le z-index sans succès...
    Pareil pour display block.

    Je viens de tester en supprimant la position "absolute" de mes images. Ainsi elles ne sont plsu superposées et on a un truc du style :
    [image principale]
    [sous-image1]
    [sous-image2]
    [sous-image3]

    Sous firefox et sous IE , les images sont bien présentes (les sous-images sont invisibles, normal).
    Sous firefox, au clic sur la zone 1, l'image principale disparait et la sous-image1 devient visible. Tandis que sous IE, l'image principale disparait mais la sous-image1 reste invisible...

    Edit : J'ai également essayé en utilisant opacity (filter:alpha(opacity=x)) à la place de visibility, et c'est la meme chose

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    j'ai répondu il y a un mois ou deux à un souci de map sur des images ...

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Mais à mon avis le problème ne vient pas des map, juste de l'image... Au pire, si ça venait de la map, l'image s'afficherait et les zones cliquables ne fonctionneraient pas, non ?
    Et dans le pire des cas, tu penserais à une solution de remplacement ? J'avoue que je ne vois pas comment faire autrement...

  6. #6
    Inactif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 63
    Points : 81
    Points
    81
    Par défaut
    Donne nous plus de code, par exemple la CSS associée, ça serait cool

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Voici la CSS associée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #imgMap {
    	position:absolute;
    	visibility:visible;
    }
     
    #map1,#map2,#map3{
    	visibility:hidden;
    	position:absolute;
    	z-index:99;
    }

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #map1,#map2,#map3{
    	visibility:hidden;
    	position:absolute;
    	z-index:99;
    }
    pas visibmlity !!
    display:none
    tu les passes en block au besoin ...

Discussions similaires

  1. Javascript dans une image map
    Par Oriane85 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/08/2011, 17h37
  2. image map et javascript
    Par sam01 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/06/2010, 21h30
  3. image map et javascript
    Par Antho13 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/07/2007, 16h29
  4. Réponses: 6
    Dernier message: 14/06/2006, 22h31
  5. [Image] image map dans des images dynamique?
    Par xtaze dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 19/05/2006, 17h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo