Menu deroulant multidirection.

2/5 (9 avis)

Snippet vu 40 073 fois - Téléchargée 27 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 3
19 mars 2004 à 16:40
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
19 mars 2004 à 08:52
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 3
8 mars 2004 à 11:32
>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
8 mars 2004 à 06:45
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
7 mars 2004 à 09:13
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.