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 :

fonction switch Div


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2
    Par défaut fonction switch Div
    Bonjour a vous,

    Je viens a vous pour vous exposez mon problèmes j’espère être assez explicite.
    Merci d'avance pour vos réponses.

    Donc j'ai plusieurs div avec une ID de 1 a 31 qui s'affiche si leurs conditions sont respecté.Mon soucis c'est que généralement toute les div ne sont pas afficher vu que chacune a des conditions propres.

    Et l'utilisation de case oblige a avoir toute les div présente auriez vous une solution ?

    Contexte :

    Je clique sur le lien

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a onclick="switchDiv({i})"><img border="0" src="{dpath}gebaeude/batiment/{i}.png" align="top" width="100" height="100"></a>

    Cela affiche donc

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="baliseDiv" style="display:none;position:absolute;width:190px;margin-top:-110px;left:16.5%;text-align:center" id="{i}"><a href="index.php?page=infos&gid={i}"><img border="0" src="{dpath}gebaeude/batiment/{i}.png" align="top" width="120" height="120"><br><br></a><a href="index.php?page=infos&gid={i}">{n}</a>{nivel}<br>{descriptions}<br>{price}{time}{rest_price}<td class="k">{click}</td></div>

    Et au clic de l'autre lien celui ci disparait et apparait l'autre div.

    J'ai donc ce code :

    JavaScript :


    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
    35
    36
    37
    38
    39
    function switchDiv(n)
    {  
    var id;
      switch(n)
      { 
            case 0:id = "";break;
            case 1:id = "1";break;
            case 2:id = "2";break;
    	case 3:id = "3";break;
            case 4:id = "4";break;
    	case 12:id = "12";break;
    	case 14:id = "14";break;
    	case 15:id = "15";break;
    	case 20:id = "20";break;
    	case 21:id = "21";break;
    	case 22:id = "22";break;
    	case 23:id = "23";break;
    	case 24:id = "24";break;
    	case 31:id = "31";break;
      }  
     
      document.getElementById('1').style.display = "none"; 
      document.getElementById('2').style.display = "none";
      document.getElementById('3').style.display = "none";
      document.getElementById('4').style.display = "none"; 
      document.getElementById('12').style.display = "none";
      document.getElementById('14').style.display = "none";
      document.getElementById('15').style.display = "none"; 
      document.getElementById('20').style.display = "none";
      document.getElementById('21').style.display = "none";
      document.getElementById('22').style.display = "none"; 
      document.getElementById('23').style.display = "none";
      document.getElementById('24').style.display = "none";
      document.getElementById('31').style.display = "none"; 
     
      if (id!="")
         document.getElementById(id).style.display = "block";
    }
    //-->
    HTML :


    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <ul style="float:left"><a onclick="switchDiv({i})">
    		<img border="0" src="{dpath}gebaeude/batiment/{i}.png" align="top" width="100" height="100">
    		</a>
    		<div class="baliseDiv" style="display:none;position:absolute;width:190px;margin-top:-110px;left:16.5%;text-align:center" id="{i}">
    		<a href="index.php?page=infos&gid={i}">
    		<img border="0" src="{dpath}gebaeude/batiment/{i}.png" align="top" width="120" height="120"><br><br>
    		</a>
    		<a href="index.php?page=infos&gid={i}">{n}</a>{nivel}<br>
    {descriptions}<br>
    		{price}
    		{time}
    		{rest_price}
    		<td class="k">{click}</td>
    </div></ul>


    J’espère que mon problèmes a était exposer clairement je vous remercie.

  2. #2
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Ca serait pas un userscript Ogame par hasard ? "gebaeude/batiment/" ça me rappelle mes tous premiers scripts

    Pour ton problème, s'il s'agit juste de réduire la taille du code, tu peux sélectionner toutes les div à cacher en te servant d'autre chose que l'ID, par exemple la classe baliseDiv (très mal nommée au passage).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var divs = document.querySelectorAll("div.baliseDiv");
    for(var i=0; i<divs.length; i++){
      divs[i].style.display="none";
    }

Discussions similaires

  1. associer une fonction à une <div>
    Par Mike35 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 02/09/2008, 02h43
  2. aide pour fonction switch problème
    Par mitherkiller dans le forum C
    Réponses: 10
    Dernier message: 02/03/2007, 15h03
  3. Problème fonction switch
    Par mitherkiller dans le forum C
    Réponses: 4
    Dernier message: 22/02/2007, 15h48
  4. la fonction switch
    Par Maria1505 dans le forum C++
    Réponses: 2
    Dernier message: 19/01/2007, 02h39
  5. [CSS] Créer un style en fonction du div parent
    Par titoumimi dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 28/02/2006, 09h33

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