Menu deroulant multidirection.

Soyez le premier à donner votre avis sur cette source.

Snippet vu 39 679 fois - Téléchargée 25 fois

Contenu du snippet

un menu deroulant dans une frame gauche
les liens envoient automatiquement dans la direction pre-definie
frame du haut , frame de droite , de gauche , totalité de la page , nouvelle page , popup .

Source / Exemple :


<FORM name="guideform">
  <p align="center">Menu Déroulant</p>
  <p>&nbsp;</p>
  <p align="center"> 
    <SELECT style="color: #FFFFFF; background: #1C3859;" NAME="guidelinks" onChange="cliquer()">
      <option value="right.htm" selected>--Choose-- </option>
      <option value="page1.htm">page droite</option>
      <option value="haut_page1.htm">page haute</option>
      <option value="http://www.google.fr">new page</option>
      <option value="page_20.htm">page gauche</option>
      <option value="popupforum.htm">popup</option>
      <option value="total01.htm">page fenetre</option>
    </SELECT> 
<SCRIPT LANGUAGE="JavaScript">
<!--
function cliquer() {
 if (guideform.guidelinks.value.substring(0,5)=="http:")
	  envoie(guideform);

 else if (guideform.guidelinks.value.substring(0,5)=="popup") 
	popup(guideform);

 else if (guideform.guidelinks.value.substring(0,5)=="page_")
	 envoie3(guideform);

 else if (guideform.guidelinks.value.substring(0,5)=="total")
	 envoie5(guideform);

 else if (guideform.guidelinks.value.substring(0,5)=="haut_")
	 envoie4(guideform);

 else envoie2(guideform);
}

function envoie2(guideform){ 
window.top.rightFrame.location.href = guideform.guidelinks.options[guideform.guidelinks.selectedIndex].value;
} 

function popup(guideform){
var hauteur_popup=280;
var H = (screen.height - hauteur_popup) / 2;
var largeur_popup=480;
var L = (screen.width - largeur_popup) / 2;
URL = guideform.guidelinks.options[guideform.guidelinks.selectedIndex].value;
{
mywindow = window.open(''+URL+'','FoRuM', 'top='+H+',left='+L+',width='+largeur_popup+',height='+hauteur_popup+',menubar=no,resizable=yes,status=no,toolbar=no,scrollbars=no');
}
}

function envoie3(guideform){ 
window.top.leftFrame.location.href = guideform.guidelinks.options[guideform.guidelinks.selectedIndex].value;
} 

function envoie4(guideform){ 
window.top.topFrame.location.href = guideform.guidelinks.options[guideform.guidelinks.selectedIndex].value;
}

function envoie(guideform){ 
URL = guideform.guidelinks.options[guideform.guidelinks.selectedIndex].value;
{
mywindow = window.open(''+URL+'');
}
}

function envoie5(guideform){ 
URL = guideform.guidelinks.options[guideform.guidelinks.selectedIndex].value;
{
parent.frames.location  = URL;}
}
//-->
</script>
</FORM>
..................
Explications :

menu pour un frameset 3 frames :
les liens commençant par : http: ouvrent une nouvelle fenetre.
les liens commençant par : page_ ouvrent dans la frame de gauche
les liens commençant par : popup ouvrent un popup
les liens commençant par : haut_ ouvrent dans la frame du haut
les liens commençant par : total ouvrent dans la totalité de la fenetre.
les autres liens ouvrent dans la frame de droite.

on peut rajouter des propriétés si besoin ...

Conclusion :


merci de commenter .

A voir également

Ajouter un commentaire

Commentaires

cs_leris
Messages postés
419
Date d'inscription
dimanche 31 août 2003
Statut
Membre
Dernière intervention
19 avril 2010
1 -
salut,
voir ma reponse dans ces commentaires.

" il faut 3 frames : etc ... .. etc ... "

le "name" des frames est primordial , sinon ça fonctionne pas (rectifier si les frames ont un autre nom que :leftFrame ,topFrame ,et rightFrame )

en plus tu as choisi l'hebergeur le plus pourri qui soit , qui rajoute une frame pour sa pub !


"en outre je vois mal depuis mon editeur sur pc
comment la page ou il y a le scipt c'est à dire la page 2
ne ferait pas d'erreur"

le script doit etre placé dans la page qui s'affiche dans la "leftFrame" , vois pas de page 2 , j'ai pas d'erreur quand je fais fonctionner ce script.


RAPPEL : ceci est obligatoire ! les pages doivent etre nommées comme suit :

les liens commençant par : http: ouvrent une nouvelle fenetre.
les liens commençant par : page_ ouvrent dans la frame de gauche
les liens commençant par : popup ouvrent un popup
les liens commençant par : haut_ ouvrent dans la frame du haut
les liens commençant par : total ouvrent dans la totalité de la fenetre.
les autres liens ouvrent dans la frame de droite.

++

L.
cs_alixes
Messages postés
3
Date d'inscription
dimanche 25 mai 2003
Statut
Membre
Dernière intervention
18 mars 2004
-
pour le commentaire :

ce script est bien mais il est un peu compliqué ,
je suis bien arrivé à le faire fonctioné sur mon pc
mais une après l'avoir édité sur mon site weeb
http://membres.Lycos.FR/guilleminotalix/index.HTML

IL NE FONCTIONNE PLUS QUAND JE VEUX FAIRE BOUGER
UNE PAGE DANS UN CADRE
SI J'appelle depuis le menu déroulant la page haut par exemple
elle ne se charge pas

en outre je vois mal depuis mon editeur sur pc
comment la page ou il y a le scipt c'est à dire la page 2
ne ferait pas d'erreur
cs_leris
Messages postés
419
Date d'inscription
dimanche 31 août 2003
Statut
Membre
Dernière intervention
19 avril 2010
1 -
>iubito : "et puis les frames....... :p "

alors là completement d'accord et entre nous , le menu deroulant , j'aime pas non plus ... mais chacun fait ce qu'il veut , et si ce pauvre bout de code peut servir à quelqu'un ... ce forum aura servi à quelque chose ...
n'est ce pas son but ??

cordialement.

Leris.
cs_iubito
Messages postés
629
Date d'inscription
mercredi 3 juillet 2002
Statut
Membre
Dernière intervention
9 octobre 2006
-
et puis les frames....... :p
linkinpar236737
Messages postés
161
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
7 mai 2007
-
Je l'ai vu sur beaucoup de livres JavaScript, également sur certains sites.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.