Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1368 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Masquer et afficher une frame

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Masquer et afficher une frame

n°1176931
kenji_lol
Pas de bras pas de chocolat !!
Posté le 16-08-2005 à 11:07:09  profilanswer
 

Salut à tous,  :hello:  
 
J'aimerai afficher et cacher une frame quand je clqiue sur une image voila ce que j'ai fais :

Code :
  1. function cacher()
  2. {
  3.     if ( parent.fr2.cols=="0,*" )
  4.         parent.fr2.cols="175,*";
  5.     else
  6.         parent.fr2.cols="0,*";
  7. }


 
Mais existe t il une fonction qui remplace ceci ? car c'est un peu du code de grizzli
 
Merci d'avance ;)

mood
Publicité
Posté le 16-08-2005 à 11:07:09  profilanswer
 

n°1176932
FlorentG
Unité de Masse
Posté le 16-08-2005 à 11:07:57  profilanswer
 

:sweat:
 
C'est pour faire quoi ? C'est pour un intranet ?

n°1176933
xtof_83
Freeride Spirit
Posté le 16-08-2005 à 11:08:49  profilanswer
 

Repond oui... :lol:

n°1176938
kenji_lol
Pas de bras pas de chocolat !!
Posté le 16-08-2005 à 11:11:27  profilanswer
 

oui

n°1177087
kenji_lol
Pas de bras pas de chocolat !!
Posté le 16-08-2005 à 14:13:25  profilanswer
 

personne ne voit de solutions ??

n°1177092
FlorentG
Unité de Masse
Posté le 16-08-2005 à 14:19:41  profilanswer
 

Bah si c'est effectivement pour un intranet, bah, je vois pas le problème :??:

n°1177100
masklinn
í dag viðrar vel til loftárása
Posté le 16-08-2005 à 14:26:54  profilanswer
 

J'avais fait un petit script pour une appli intranet framed, une frame supérieure pour le titre et la navigation et une frame inférieure contenant un frameset avec 1-3 frames.
 
Le principe est de faire tourner le script dans la frame supérieure (de titre), le script récupère le nombre de sous-frames de la frame inférieure et génère dynamiquement des boutons d'ouverture/fermeture si il y a >=2 frames en bas.
 
Il est surcommenté, mais peut encore contenir quelques bugs, et il leak sûrement comme un porc

/* Module resizer:
  Boutons de resize de sous frames.
  Génère dynamiquement des boutons permettant d'ouvrir et fermer des frames de niveau 2
  Préfixes externes "frameCollapseButtons" (pour variables globales et IDs externes)
   
 Exemple
  <frameset>
   <frame1></frame1>
   <frame2>
    <frameset>
     <frame21></frame21>
     ...
     <frame2x></frame2x>
    </frameset>
   </frame2>
  </frameset>
   
  Toutes les sous frames de la frame 2 (frames 21 à 2x) verront généré un bouton
  permettant de les ouvrir et fermer.
   
  Le script est actuellement statique dans ses targets et ne gère que
  la frame les frames de 2e niveau de la 2e frame de l'écran principal.
*/
 
/* Création des variables globales:
  frameCollapseButtonsTimerLock pour ne pas rafraichir les boutons alors qu'on les a activés
  frameCollapseButtonsTimer pour pouvoir stopper le timer
*/
var frameCollapseButtonsTimerLock = false;
var frameCollapseButtonsTimer = null;
 
// Fonction de boucle principale
function frameCollapseButtonsPollFrames() {
 // Si on a locké l'évènement, sortie de la fonction
    if(frameCollapseButtonsTimerLock)
        return;
    /* Si les objets et éléments nécessaires à l'exécution n'existent pas
     On arrête le timer et on sort de la fonction
    */
    if(  !document.getElementById  
      || !document.createElement  
      || !document.createTextNode
      || !top.frames[1]
      || !top.frames[1].document
      || !top.frames[1].document.getElementsByTagName
      ) {
  clearInterval(frameCollapseButtonsTimer);
  return;  
    }
 
 // Récupération du formulaire généré contenant les boutons
    var form = document.getElementById('frameCollapseButtons');
 
 // Récupération du frameset contenant les frames à manipuler
    var frameset = top.frames[1].document.getElementsByTagName('frameset')[0];
 var i=0;
 
 // Si frameset indisponible, sortie
    if(!frameset)
        return;
 
    if(!form) {
     // Si formulaire contenant les boutons inexistant, le créer
        form = document.createElement('FORM');
        // ID permettant de hooker les styles CSS  
        //   + récupération du formulaire dans les itérations suivantes
        form.id="frameCollapseButtons";
        document.body.appendChild(form);
    } else {
     // Frameset visé non modifié => les frames contenues n'ont pas changé
     // => inutile de faire le poll
        if(form.frameset == frameset)
            return;
        // Nettoyage de contenu du formulaire
        for(i=form.childNodes.length-1; i>=0; --i)
            form.removeChild(form.childNodes[i]);
    }
    // Stockage référence vers frameset pour vérification de modification
    form.frameset = frameset
 
    var sizes;
    var rows = false;
    /* Obtention des tailles des frames */
    if(frameset.rows) {
        rows = true;
        sizes = frameset.rows;
    } else
        sizes = frameset.cols;
 
    var framesSizes;
    var framesArray = [];
    framesSizes = sizes.split(',');
    for(i=0; i<frameset.getElementsByTagName('frame').length; ++i)
        framesArray.push(frameset.getElementsByTagName('frame')[i].name);
    /* /Obtention */
 
 // Si les deux tables (frames et tables des frames), illogisme > sortie
    if(framesSizes.length != framesArray.length)
        return;
 
 // Pour chaque frame du frameset visé
    for(i=0; i<framesArray.length; ++i)
    {
     // On crée un pushbouton
        var button = document.createElement('INPUT');
  button.type="button";
  // On stocke l'index de la frame et la taille initiale de celle ci
        button.indexValue = i;
        button.initialSize = framesSizes[i];
  // Nommage du bouton via attribut "name" de la frame
        button.value= framesArray[i];
 
  button.className = "pushed";
   
  /* Sur clic bouton:
   * Activer le lock
   * Si la frame associée est réduite, le bouton est sorti
    -> Rendre à la frame sa taille initiale
    -> Enfoncer le bouton
   * Si la frame associé n'est pas réduite, le bouton est enfoncé
    -> Stocker la taille actuelle de la frame
    -> Réduire la frame
    -> Sortir le bouton
   * Mettre à jour les tailles des frames au niveau du frameset
   * Rendre le lock
  */
        button.onclick = function () {
                frameCollapseButtonsTimerLock = true;
                var sizes = (rows?frameset.rows:frameset.cols).split("," );
                var currentSize = sizes[this.indexValue];
                if(currentSize == "0" ) {
                    sizes[this.indexValue] = this.initialSize;
                    this.className = "pushed";
                } else {
                    this.initialSize = currentSize;
                    sizes[this.indexValue]="0";
                    this.className = "poped";
                }
                if(rows)
                    frameset.rows = sizes.join("," );
                else
                    frameset.cols = sizes.join("," );
     
                frameCollapseButtonsTimerLock = false;
                return false;
            };
  // Ajouter le bouton nouvellement généré au formulaire
        form.appendChild(button);
        button = null;
    }
}
// On lance la fonction après le chargement de la page
// Puis on ajoute une exécution automatisée chaque seconde (1000ms)
addEvent(window, "load", function () {
        frameCollapseButtonsPollFrames();
        frameCollapseButtonsTimer = setInterval("frameCollapseButtonsPollFrames()",1000);
    }
);


Message édité par masklinn le 16-08-2005 à 14:30:30

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1177102
kenji_lol
Pas de bras pas de chocolat !!
Posté le 16-08-2005 à 14:29:07  profilanswer
 

je n'ai pas dit qu'il y avait un pb, c'est juste que je voudrai savoir s'il existe une foonction javascript (ou autre) qui me permette de faire cela.
Quelque chose de generique en fait plutot que de renterr en dur le nom de la frame ainsi que ses nombres de px


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Masquer et afficher une frame

 

Sujets relatifs
Modifier un JPanel (ou Frame) pendant l'exécution d'un progScanner un répertoire et afficher les fichiers dans une liste box
Afficher page XML dans browser + ajout xhtml[JS ou PHP] Interdire son site dans une frame
afficher son statut MSN [résolu]Afficher contenu des pages internet explorer vbs
Pblm de session, masquer l'url a l'impressiontransformer des frame en css....
[resolu] JtextField invisible oui mais il veut pas s'afficher !!!Comment afficher les doublons avec une couleur dans EXCEL ?
Plus de sujets relatifs à : Masquer et afficher une frame


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR