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 :

Superposition de deux div.


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut Superposition de deux div.
    Bonjour.

    J'aimerais pouvoir superposer deux div.

    chacune contenant du texte different, et les faire switcher grace a du java script. Mais il faut qu'elles aient le meme emplacement.

    Comment faire pour qu'elles aient le meme emplacement?
    Quel attribut pour les rendre visible et invisible?

    Merci

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    en les positionnant en absolute, tu pourras les mettre au "même emplacement".
    Ensuite, attribut leur un z-index : celui ayant la valeur la + grande sera au-dessus.
    Tu n'a plus qu'à modifier les z-index via JS pour les faire passer en-dessus / en-dessous ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <html>
    <head>
    <style type="text/css">
    #div1 {position : absolute;
    top:200px;
    left:50px;
    width:100px;
    background-color:blue;
    }
    #div2 {position : absolute;
    top:200px;
    left:50px;
    width:100px;
    background-color:red;
    }
    </style>
    <script type="text/javascript">
    function SwitchIt() {
    var z = document.getElementById('div2').style.zIndex;
    document.getElementById('div2').style.zIndex = document.getElementById('div1').style.zIndex;
    document.getElementById('div1').style.zIndex = z;
    }
    </script>
    </head>
    <body>
    <div id="div1" style="z-index:10;">
    div1
    </div>
    <div id="div2" style="z-index:5;">
    div deux
    </div>
    <input type="button" onclick="SwitchIt();" value="Switch">
    </body>
    </html>
    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut
    Euh z-index y a pas mieux genre visible unvisible?

    Pourquoi ca a ete deplacer en javascript je demande rien de javascript je veux des renseignement html et un argument de div??????

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par zulot
    Euh z-index y a pas mieux genre visible unvisible?
    z-index c'est pour la superposition.
    Si tu voulais masquer, fallait demander comment ... masquer
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut
    Pardon je me suis mal exprimer c'etait en fait 2 div au meme emplacement mais je les masques alternativement. Et je me suviens plus de l'argument pour visible lol

    Et pour l'emplacement c'est donc en absolute

    Et je comprends tjs pas pourquoi j'ai atteri en javascript

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par zulot
    je les masques alternativement. Et je me suviens plus de l'argument pour visible lol
    Ben comment tu as fait, alors ?

    visible = "visible" / "hidden"

    Et je comprends tjs pas pourquoi j'ai atteri en javascript
    Ca va venir
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  7. #7
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 100
    Points
    1 100
    Par défaut
    tiens, j'ai ça sous la main, ça devrait t'être utile.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    function show(DivId){
    	if(dom){
    		document.getElementById(DivId).style.visibility = "visible";
    	}else if(ie4){
    		document.all[DivId].style.visibility = "visible";
    	}else if (ns4){
    		document.layers[DivId].visibility = "show";
    	}
    }
    function hide(DivId){
    	if (dom){
    		document.getElementById(DivId).style.visibility = "hidden";
    	}else if (ie4){
    		document.all[DivId].style.visibility = "hidden";
    	}else if (ns4){
    		document.layers[DivId].visibility = "hide";
    	}
    }

  8. #8
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Y encore des gens sur IE4 et Netscape 4 ?

    Pour tes div tu peux en effet les placer en absolu, mais le problème
    dans ce cas c'est qu'elles sortent du flux. Cela peut être génant pour
    le contenu qui suit.

    le code document.getElementById(DivId).style.visibility = "hidden"; // ou visible
    permet en effet de masquer / afficher la div, mais celles-ci restent dans le flux.

    je te conseil document.getElementById(DivId).style.display = 'none'; // block
    pour qu'elle n'occupe plus d'espace dans le flux et tu laisse le div en position static
    (positionnement par défaut).

    Le positionnement en absolu n'est pas forcement une mauvaise solution, mais
    si il n'est pas nécessaire, autant l'éviter pour des raisons d'accessibilité. Les mal
    voyant utilisent beaucoup le zoom texte (CTRL + molette sur FF) ce qui provoque des chevauchements avec les positions absolues.
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut
    oki merci.

    Et dans mon css de base je met comment en invisible?

    je met visibility: hidden;

Discussions similaires

  1. [XHTML] Alignement de deux div
    Par Invité dans le forum Balisage (X)HTML et validation W3C
    Réponses: 14
    Dernier message: 29/06/2006, 21h03
  2. [css]superposer deux DIVs / opacity
    Par narkhor dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 13/03/2006, 02h38
  3. [Débutant] Aligner deux divs sur une ligne avec inline
    Par Braz dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 09/03/2006, 10h52
  4. [css] Deux div ( et plus ) sur la meme ligne
    Par NeHuS dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 22/02/2006, 15h54
  5. [CSS] Utilisation de deux div avec float
    Par Ditch dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 06/10/2005, 15h48

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