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 qui m'efface le contenu et qui remonte mes cadres


Sujet :

JavaScript

  1. #1
    Inactif
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 164
    Par défaut fonction qui m'efface le contenu et qui remonte mes cadres
    bonjours,

    voilà la page :

    http://leprojet.legtux.org/membre-pr...l?uname=tester

    j'ai un souci dans mes menue quand je cliques sur biographe ça me fait monter et qui m'éfface le contenue (donc là si vous ne comprenez pas veuillez tester sur la page merci lol)

    voilà le code :

    Code php : 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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    <div id="menu_1" style="display:block">
    <div class="cadre_transparent">
     
    <div class="cadre_profil_left">
    <div class="cadre_visible">
    <?php
          echo '' . GetAvatarById($data1['membre_id']) . "<br />";
    ?>
    </div>
    <div class="cadre_visible">
    <?php
          echo 'humeur en texte';
    ?>
    </div>
    <div class="cadre_visible">
    <?php
          echo 'humeur en video';
    ?>
    </div>
    <div class="cadre_visible">
    <?php
          echo 'mes amies';
    ?>
    </div>
    </div>
     
    <div class="cadre_profil_right">
    <?php
    echo '<div class="cadre_menu_bottom parente">
          <div id="t_compte_1" class="profil_menu_transparent profil_menu_visible" onclick="montre(\'compte_1\');">General</div>
    	  <div id="t_compte_2" class="profil_menu_transparent" onclick="montre(\'compte_2\');">Personnel</div>
    	  <div id="t_compte_3" class="profil_menu_transparent" onclick="montre(\'compte_3\');">Apparence</div>
    	  <div id="t_compte_4" class="profil_menu_transparent" onclick="montre(\'compte_4\');">lifstyle</div>
    	  <div id="t_compte_5" class="profil_menu_transparent" onclick="montre(\'compte_5\');">J\'aimes</div>
    	  <div id="t_compte_6" class="profil_menu_transparent" onclick="montre(\'compte_6\');">J\aime pas</div>
    	  </div>';
    ?>
          <div class="cadre_compte">
     <?php
    	  	include "./modules/membre/profil/menue/compte/general.php";
    	  	include "./modules/membre/profil/menue/compte/personnel.php";
    	  	include "./modules/membre/profil/menue/compte/apparence.php";
    	  	include "./modules/membre/profil/menue/compte/lifstyle.php";
    	  	include "./modules/membre/profil/menue/compte/aime.php";
    	  	include "./modules/membre/profil/menue/compte/aime_pas.php";
    ?>
    	  </div>
    <?php
    echo '<div class="parente">
          <div id="t_compte_7" class="profil_menu_transparent profil_menu_visible" onclick="montre(\'compte_7\');">Description</div>
    	  <div id="t_compte_8" class="profil_menu_transparent" onclick="montre(\'compte_8\');">Biographie</div>
    	  <div id="t_compte_9" class="profil_menu_transparent" onclick="montre(\'compte_9\');">Annonce</div>
    	  <div id="t_compte_10" class="profil_menu_transparent" onclick="montre(\'compte_10\');">Citation</div>
    	  <div id="t_compte_11" class="profil_menu_transparent" onclick="montre(\'compte_11\');">Signature</div>
    	  </div>
    	  <div class="cadre_menu_bottom">
    	  </div>
    	  ';
    ?>
          <div class="cadre_compte">
    	  <?php
    	  	include "./modules/membre/profil/menue/compte/biographie.php";
    	  	include "./modules/membre/profil/menue/compte/annonce.php";
    	  	include "./modules/membre/profil/menue/compte/citation.php";
    	  	include "./modules/membre/profil/menue/compte/signature.php";
    ?>
    </div>
    </div>
    </div>
    </div>


    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    // JavaScript Document
    var depart;
    var limite;
     
    if ( root[1] <= 6 ) {
        depart = 1;
        limite = 6;
    }
    else if ( root[1] > 6 ) {
        depart = 7;
        limite = 11;
    }
     
    for( i = depart; i <= limite; i++){
                function do_getMenu_cb(z) {
                    var value = z.split("-2-2-");
                    document.getElementById(value[0]).innerHTML = value[1];
                    if(value[1].toString().search("Vous")==0 && value[0] == "aValider"  )
                    {
                    	$("#MenuEncours").hide();
                    }
                }
     
                function do_getMenu(type) {
                    document.getElementById("iContainer").value = type;
                    x_getMenu(type, do_getMenu_cb);
                }
     
                function do_setMenu_cb(z) {
                    document.getElementById("iMsg").innerHTML = z;
                    do_getMenu("MenuConnecte");do_getMenu("MenuDeconnecte"); do_getMenu("ignore"); do_getMenu("aValider"); 
                }
     
                function do_setMenu(target,cmd) {
                    document.getElementById("tableList").removeChild(document.getElementById("_"+target));
                    x_setMenu(cmd, do_setMenu_cb);
                }
     
            	function montre(container) {
            		var root = container.split("_");
            		for(i=1;i<10;i++)
            			//if(i!=root[1])
            			{
            				$("#"+root[0]+"_"+i).hide();
            				$("#t_"+root[0]+"_"+i).removeClass("profil_menu_visible profil_compte_visible");
            			}
            		$("#"+container).show();
            		$("#t_"+container).addClass("profil_menu_visible profil_compte_visible");
            	}
    }
    merci de vote pour éviter que ça puisse remonter le contenue hors du clique

    au cas voilà le code de biographie

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <div id="compte_8" style="display:none">
    <?php
    echo ' <div id="widgets_biographie">
    			  <h2 class="titre">Sa Biographie <span class="texte_droite">'.((isset($_SESSION['id']) && ($data1['membre_id'] == $_SESSION['id'] || (isset($_GET['admincp']) && $_GET['admincp']==tokenAdmin()) && id2level($_SESSION['id'])==ADMIN)) ? '<input type="button" value="Modifier" onclick="switchValue(this,\'cBiographie\');"/>':'').'</span></h2>';
                echo '<div id="cBiographie">';
            echo ''.code(nl2br(EON($data1['membre_biographie']))).'</div>';
    		if($data1['membre_id']==$_SESSION['id'] || id2level()>MODO)
           {
            echo '<div style="display:none;" id="cBiographie_form">'.getForm('cBiographieArea').'</div>';
               }
           echo '</div>
     ';  
    ?>
    </div>

    merci de votre aide

  2. #2
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    Bonjour,

    Voici quelques conseils pour la prochaine fois :
    - Essaie de faire un effort sur l'orthographe et évite d'écrire comme tu parles oralement. Un texte plein de fautes ne donne pas envie de le lire et est plus souvent passé à la trappe.
    - Aussi, pour nous aider à lire et comprendre rapidement ton problème, lis les règles du forum. Tu aurais découvert qu'il ne faut pas mettre de code "serveur" (php dans ton cas) mais le code JavaScript généré (afficher la source dans un navigateur web).

    En faisant cela, tu peux être sûr que ton sujet sera traité plus rapidement


    Pour revenir au problème, cela fait "monter" car tu supprimes le contenu de la div "cadre_compte". Pourquoi ?
    A priori, quand tu cliques sur un onglet, ça appelle la fonction montre(menu) qui cache tous les autres menus et affiche celui sur lequel tu as cliqué. C'est donc normal que le contenu des onglets du haut disparaisse. Donc que ton écran "monte" quand tu cliques sur cet onglet car du contenu se fait cacher !

    Concernant le JavaScript en lui même :
    - root n'est pas défini au début du document.
    - Pourquoi définir les fonctions dans une boucle
    - D'ailleurs, je ne sais pas si c'est fait exprès, mais tu réutilises la même variable (i) à l'intérieur de la boucle. Donc la première boucle ne fait qu'un tour. On va mettre ça sur le coup de la chance
    - Enfin, que dis-je, la boucle ne fais même pas un tour vu que root est indéfini donc le code qui suit n'est jamais exécuté ! Jamais ? Enfin presque ... en effet, par chance, tes fonctions sont quand même parsées et évaluées car elles subissent le hoisting (quand le navigateur charge ton JavaScript, elles sont lues et stockées dans l'objet global window). C'est pourquoi tu peux donc cacher/montrer ton menu à l'aide de cette fonction définie une seule fois alors que tu voulais qu'elle le soit autant de fois qu'il y a de menu


    En somme donc, ça tient du miracle ! Pour que
    sérieusement quelle code de javasscripit ou modifier mon code par quoi afin quon laisse fixe au 1 er clique quand on appuie sur biographie
    Il ne faut pas cacher le contenu des divs "General Personnel Apparence lifstyle J'aimes J\aime pas" lorsque tu cliques sur l'un des onglets "Description Biographie Annonce Citation Signature".
    Et vice-versa

  3. #3
    Inactif
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 164
    Par défaut
    Citation Envoyé par Kaamo Voir le message
    En somme donc, ça tient du miracle ! Pour que
    Il ne faut pas cacher le contenu des divs "General Personnel Apparence lifstyle J'aimes J\aime pas" lorsque tu cliques sur l'un des onglets "Description Biographie Annonce Citation Signature".
    Et vice-versa
    merci j'ai modifier tout les pages


    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="compte_2" style="display:none">
    par

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="compte_2" style="display:block">

    mais là il le met tout sur le même cadre

    merci de m'aidé a refaire mon code

    je t'en remercie de ton aide

  4. #4
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    Le problème ne se situe pas là ! Mais dans ton JavaScript. Plus précisément dans la boucle qui gère l'affichage des div.

    Il faut que tu dissocies les div du "haut" des div du "bas". Pour le moment, tu ne fais aucune différence entre ces deux groupes bien distincts.

  5. #5
    Inactif
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 164
    Par défaut
    merci de votre aide je vais demander a quelqu"'un d'autre qui vs me remodifier mon code

    merci de votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Contenu qui s'efface après XmlHttpRequest
    Par Yoanned dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/11/2007, 11h43
  2. [DOM] Contenu des "input file" qui s'effacent
    Par cathy9999 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/07/2007, 09h30
  3. [JTable] Cellule editable qui efface mon contenu
    Par Zanton dans le forum Composants
    Réponses: 4
    Dernier message: 01/06/2006, 12h34
  4. [lomboz] fichier web.xml qui s'efface
    Par stago dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 27/05/2005, 18h00
  5. [Swing][graphics]objets graphiques qui s'effacent
    Par TylerKnoxx dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 11/08/2004, 16h36

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