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 :

besoin d'aide pour changer le 'target' d'un menu en javascript


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7
    Points : 4
    Points
    4
    Par défaut besoin d'aide pour changer le 'target' d'un menu en javascript
    bonjour,
    je tente d'utiliser un script nommé 'menu toolbar par icônes'.
    Il consiste à créer un menu horizontal dynamique.

    L'une de mes pages contient deux frames, une en haut (de type bannière) pour le menu toolbar par icones, une juste en dessous pour les pages. Je souhaite que lorsque je clique sur l'un des bouttons du menu toolbar de la bannière, la page s'affiche en dessous.
    Il faut donc que je modifie la fonction menutoolbar.add pour y ajouter une sorte de 'target=' , chose que je tente en vain, si quelqu'un peut m'aider...

    voici le script:

    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
    <HEAD>
    <SCRIPT language=javascript>
     
    // Paramétrage ici :
    var MenuToolBar=new CreerMenuToolBar('orange', '#ffcc99', 'black', '#6699FF', 'font-family:verdana;font-size:11px;color:white;font-weight:bold', 14, 14)
    MenuToolBar.Add('../images/topbar/boutton1off.gif', '../images/topbar/boutton1on.gif', 'Accueil', 'accueil.htm');
    MenuToolBar.Add('../images/topbar/boutton2off.gif', '../images/topbar/boutton2on.gif', 'blabla', '../documents/blabla.htm');
    MenuToolBar.Add('../images/topbar/boutton3off.gif', '../images/topbar/boutton3on.gif', 'blabla2', '../documents/blabla2.htm');
     
     
    // Fonctions internes
    function CreerMenuToolBar(colFond, colClair, colOmbre, colCligno, style, hauteur, largeur) {this.nb=0;this.colFond=colFond;this.colClair=colClair;this.colOmbre=colOmbre;this.colCligno=colCligno;this.hauteur=hauteur;this.largeur=largeur;this.style=style;this.Indice=-1;this.Nbcligno=0;this.Add=AddMenuToolBar;this.Aff=AffMenuToolBar;}
    function AddMenuToolBar(imgOff, imgOn, libelle, url) {var link=new Object();link.imgOff=imgOff;link.imgOn=imgOn;link.libelle=libelle;link.url=url;this[this.nb]=link;this.nb++;}
    function AffMenuToolBar() {
    if (document.getElementById || document.all) {
    var Z="<TABLE border=0 cellpadding=1 cellspacing=1><TR>";
    for (var i=0; i<this.nb; i++) {
    Z+="<TD onMouseOver='AffMenuToolBarOver(this,"+i+")' onMouseOut='AffMenuToolBarOut(this,"+i+")' onMouseDown='AffMenuToolBarDown(this,"+i+")' onClick='AffMenuToolBarClic(this,"+i+")' style='border-style:solid;border-width:1px;border-color:"+this.colFond+";"+this.style+";cursor:pointer'><IMG name='MenuToolBarIMG"+i+"' src='"+this[i].imgOff+"' border=0 width="+this.largeur+" height="+this.hauteur+" align=top>&nbsp;"+this[i].libelle+"</TD>";
    }
    Z+="</TR></TABLE>";
    } else {
    var Z="| &nbsp;";
    for (var i=0; i<this.nb; i++) {
    Z+="<A href='"+this[i].url+"' style='"+this.style+"'><IMG name='MenuToolBarIMG"+i+"' src=\""+this[i].imgOff+"\" border=0 width="+this.largeur+" height="+this.hauteur+" align=top>&nbsp;"+this[i].libelle+"</A>&nbsp;|&nbsp;";
    }
    }
    document.write(Z);
    }
    function AffMenuToolBarOver(obj,ind) {obj.style.borderTopColor=MenuToolBar.colClair; obj.style.borderLeftColor=MenuToolBar.colClair; obj.style.borderBottomColor=MenuToolBar.colOmbre; obj.style.borderRightColor=MenuToolBar.colOmbre; document.images['MenuToolBarIMG'+ind].src=MenuToolBar[ind].imgOn;}
    function AffMenuToolBarOut(obj,ind) {obj.style.borderTopColor=MenuToolBar.colFond; obj.style.borderBottomColor=MenuToolBar.colFond; obj.style.borderLeftColor=MenuToolBar.colFond; obj.style.borderRightColor=MenuToolBar.colFond; document.images['MenuToolBarIMG'+ind].src=MenuToolBar[ind].imgOff;}
    function AffMenuToolBarDown(obj,ind) {obj.style.borderTopColor=MenuToolBar.colOmbre; obj.style.borderLeftColor=MenuToolBar.colOmbre; obj.style.borderBottomColor=MenuToolBar.colClair; obj.style.borderRightColor=MenuToolBar.colClair;}
    function AffMenuToolBarClic(obj,ind) {MenuToolBar.Indice=ind;MenuToolBar.obj=obj;MenuToolBar.Nbcligno=0;MenuToolBarCligno()}
    function MenuToolBarCligno() {
    MenuToolBar.Nbcligno++;
    if (Math.round(MenuToolBar.Nbcligno/2) != MenuToolBar.Nbcligno/2) {
    MenuToolBar.obj.style.backgroundColor=MenuToolBar.colCligno;
    } else {
    MenuToolBar.obj.style.backgroundColor=MenuToolBar.colFond;
    }
    if (MenuToolBar.Nbcligno < 8) {
    setTimeout('MenuToolBarCligno()',50-5*MenuToolBar.Nbcligno);
    } else {
    window.location=MenuToolBar[MenuToolBar.Indice].url;
    }
    }
     
    </script>
    </HEAD>

    Puis, dans le body:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script language="javascript">MenuToolBar.Aff();</script>

    UN GROS MERCI d'avance !

  2. #2
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    (...)
    window.parent.frames['maFrame'].location.replace(MenuToolBar[MenuToolBar.Indice].url);
    }
    }
     
    </script>
    </HEAD>
    Ca devrait faire l'affaire.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7
    Points : 4
    Points
    4
    Par défaut oui mais
    merci beaucoup pour ton aide...
    mais supposons à présent que j'ai 3 frames, si je veux qu'un boutton affiche sa page dans une frame tandis qu'un autre dans une autre frame, il faut alors changer la fonction?

    Et la reste le problème pour moi

    je ne sais pas quoi modifier, j'ai fait une multitude d'essais sans résultats...

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 40
    Points : 30
    Points
    30
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MenuToolBar.Add('../images/topbar/boutton3off.gif', '../images/topbar/boutton3on.gif', 'blabla2', '../documents/blabla2.htm', 'maFrame');
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function CreerMenuToolBar(colFond, colClair, colOmbre, colCligno, style, hauteur, largeur) {this.target='_self';this.nb=0;this.colFond=colFond;this.colClair=colClair;this.colOmbre=colOmbre;this.colCligno=colCligno;this.hauteur=hauteur;this.largeur=largeur;this.style=style;this.Indice=-1;this.Nbcligno=0;this.Add=AddMenuToolBar;this.Aff=AffMenuToolBar;}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function AddMenuToolBar(imgOff, imgOn, libelle, url, target) {var link=new Object();link.imgOff=imgOff;link.imgOn=imgOn;link.libelle=libelle;link.url=url;this[this.nb]=link;this.nb++;
    this.target=target;}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.parent.frames[MenuToolBar[MenuToolBar.Indice].target].location.replace(MenuToolBar[MenuToolBar.Indice].url)

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7
    Points : 4
    Points
    4
    Par défaut merci :)
    merci bcp, sauf que il y avait une petite erreur:

    Code:
    function AddMenuToolBar(imgOff, imgOn, libelle, url, target) {var link=new Object();link.imgOff=imgOff;link.imgOn=imgOn;link.libelle=libelle;link.url=url;this[this.nb]=link;this.nb++;
    this.target=target;}

    this.target=target devait etre remplacer par link.target=target

    merci beaucoup !

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

Discussions similaires

  1. Besoin d'aide pour changer un lien
    Par tvertain dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/12/2008, 17h17
  2. besoin d'aide pour le composant DBComboBox
    Par jane2002 dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/02/2004, 19h01
  3. [Kylix] besoin d'aide pour installer kylix3
    Par Sph@x dans le forum EDI
    Réponses: 3
    Dernier message: 11/02/2004, 13h53
  4. [TP]besoin d'aide pour commandes inconnues
    Par Upal dans le forum Turbo Pascal
    Réponses: 15
    Dernier message: 03/10/2002, 10h48
  5. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h05

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