begin process at 2012 05 29 13:33:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Divers

 > 

Menu et frames


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Menu et frames

vendredi 11 août 2006 à 12:55:57 | Menu et frames

sidommou

J'ai trouvé un code source pour créer un menu. Il est bien et convient à mes besoin. Le seul problème est que j'utilise des frames et je veux que les éléments du menu soient visibles dans la frame du bas et non pas cachés.
vendredi 11 août 2006 à 12:59:40 | Re : Menu et frames

sidommou

En fait, le code je l'ai trouvé à cette adresse:
  [ Lien ]
code de la page contenant le menu

<script language="JavaScript">
var IE=navigator.appName=='Microsoft Internet Explorer';
var NS=navigator.appName=='Netscape';
var Panels=new Array();
var Layers=new Array();
var Menus=new Array();

function Menu(caption, left, top, width, heigh){
 this.Index=Menus.length;
 Menus[this.Index]=this;
 this.Layer=new Layer('<table border=0 cellpadding=0 cellspacing=0><tr><td bgcolor=#9933FF><table border=0 cellpadding=1 height=' + heigh + ' cellspacing=1 width=' + width + '><tr><td bgcolor=#9933FF align=center><a class=MnuCaption href=# onMouseOver="Menus[' + this.Index + '].Click();">&nbsp;' + caption + '&nbsp;</a></td></tr></table></td></tr></table>', left, top);
 this.Panel=new Panel(left, top + this.Layer.Height());
 this.Click=function(){
  if(this.Panel.visible)
   this.Panel.Hide();
  else
   this.Panel.Show();
 }
 
 this.Build=function(){
  this.Panel.Build();
 }
}

function Panel(left, top, parent, item){
 this.parent=parent;
 this.Index=Panels.length;
 this.Item=item;
 this.Items=new Array();
 this.Panels=new Array();
 this.left=left;
 this.top=top;
 this.visible=false;
 Panels[this.Index]=this;
 this.AddItem=function(caption, url){
  if(url==undefined){
   var Index=this.Panels.length;
   this.Panels[Index]=new Panel(0, 0, this, this.Items.length);
   this.Items[this.Items.length]=new Array(caption + '&nbsp;<b>&raquo;</b>', 'href=# onMouseOver="Panels[' + this.Panels[Index].Index + '].Show();"');
  }
  else{
   this.Items[this.Items.length]=new Array(caption, 'href="' + url + '" target="DEFAUT"');
  }
 }
 
 this.AddItem1=function(caption, url){
  if(url==undefined){
   var Index=this.Panels.length;
   this.Panels[Index]=new Panel(0, 0, this, this.Items.length);
   this.Items[this.Items.length]=new Array(caption + '&nbsp;<b>&raquo;</b>', 'href=# onMouseOver="Panels[' + this.Panels[Index].Index + '].Show();"');
  }
  else{
   this.Items[this.Items.length]=new Array(caption, 'href="' + url + '"');
  }
 }
 
 
   
 this.Build=function(){
  var tag='<table border=0 cellpadding=0 cellspacing=0><tr><td bgcolor=black><table border=0 cellpadding=0 cellspacing=1><tr><td bgcolor=white><table border=0 cellpadding=0 cellspacing=1><tr><td bgcolor=#EBEBEB>';
  for(var i=0; i < this.Items.length; i++)tag+='<a class=MnuItem ' + this.Items[i][1] + '>&nbsp;' + this.Items[i][0] + '</a><br>';
  tag+='</td></tr></table></td></tr></table></td></tr></table>';
  this.Layer=new Layer(tag, this.left, this.top);
  this.Layer.Hide();
  for(var i=0; i < this.Panels.length; i++)this.Panels[i].Build();
 }
 
 this.Show=function(){
  for(var i=0; i < Panels.length; i++)Panels[i].Hide();
  if(this.parent!=undefined){
   this.Layer.Move(this.parent.Layer.Left() + this.parent.Layer.Width(), this.parent.Layer.Top() + (this.Layer.Height() / this.Items.length) * this.Item);
   this.parent.Show();
  }
  this.Layer.Show();
  this.visible=this.Layer.visible;
 }
 
 this.Hide=function(){
  this.Layer.Hide();
  for(var i=0; i < this.Panels.length; i++)this.Panels[i].Hide();
  this.visible=this.Layer.visible;
 }
}

function Layer(tag, left, top){
 this.Index=Layers.length;
 Layers[this.Index]=this;
 this.visible=true;
 this.Show=function(){
  if(IE)this.Object.style.visibility='visible';
  else if(NS)this.Object.visibility='show';
  this.visible=true;
 }
 this.Hide=function(){
  if(IE)this.Object.style.visibility='hidden';
  else if(NS)this.Object.visibility='hide';
  this.visible=false;
 }
 this.Width=function(){
  if(IE)return this.Object.offsetWidth;
  else if(NS)return this.Object.clip.width;
 }
 this.Height=function(){
  if(IE)return this.Object.offsetHeight;
  else if(NS)return this.Object.clip.height;
 }
 this.Top=function(){
  if(IE)return parseInt(this.Object.style.top);
  else if(NS)return this.Object.top;
 }
 this.Left=function(){
  if(IE)return parseInt(this.Object.style.left);
  else if(NS)return this.Object.left;
 }
 this.Move=function(left, top){
  if(IE){
  this.Object.style.left=left;
  this.Object.style.top=top;
  }
  else if(NS){this.Object.left=left;this.Object.top=top;}
 }
 if(IE){
  document.write('<div id=lay' + this.Index + ' style="position:absolute;left:' + left + 'px;top:' + top + 'px;">' + tag + '</div>');
  this.Object=document.all['lay' + this.Index];
 }
 else if(NS){
  document.write('<layer id=lay' + this.Index + ' left=' + left + ' top=' + top + '>' + tag + '</layer>');
  this.Object=document.layers['lay' + this.Index];
 }
}
</script>
<html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<head>
<title>Menu</title>
<SCRIPT language="Javascript" src="../../common/js/print.js"></SCRIPT>
<SCRIPT LANGUAGE="JavaScript" src="../../common/js/menu.js"></SCRIPT>
<style type=text/css>
A.MnuCaption{font-family:"Times New Roman", Times, serif;text-decoration:blink;color:#FFFFFF;font-size:12pt; text-align:center;}
A.MnuCaption:HOVER{border-style:none;border-width:0px;}
A.MnuItem{font-family:"Times New Roman", Times, serif;text-decoration:blink;color:black;font-size:12pt; text-align:center;}
A.MnuItem:HOVER{background-color:darkblue;color:white;}
body {
 margin-left: 0px;
 margin-top: 0px;
 margin-right: 0px;
 margin-bottom: 0px;
}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>

<BODY>
<%
PositionLeft=0 
PositionTop=0
%>
<script language=JavaScript>
var Menu3=new Menu('Menu', " <%=PositionLeft%> ", " <%=PositionTop %>", 80, 35);
Menu3.Panel.AddItem('Page2','page2.asp');
Menu3.Panel.AddItem('Page3','page3.asp');
Menu3.Panel.AddItem('Page4','page4.asp');
Menu3.Panel.AddItem('Page5','page5.asp');
Menu3.Build();
</script>

<table cellspacing="0" width="1024">
  <tr height="35" bgcolor="#0070B8">
  <td width="144" height="35" bgcolor="#9933FF" >&nbsp;</td>
  </tr>
</table>

<table cellspacing="0" width="1024">
  <tr height="35" bgcolor="#FFAD0C">
  <td width="144" height="35" bgcolor="#9900FF" >&nbsp;</td>
  </tr>
</table>
</body>

</html>

mercredi 16 août 2006 à 20:33:47 | Re : Menu et frames

PetoleTeam

Membre Club


B onsoir...

Apparament il ne te convient pas tant que cela!!!!

Ai je bien compris ????

Tu devrais avoir un fichier index.htm qui doit ressembler à cela
<HTML>
<HEAD>
<TITLE>..</TITLE>
<FRAMESET ...>
  <FRAME SRC=" menu.htm" NAME="HAUT" ...>
  <FRAME NAME="CENTRE" ...>
  <FRAME SRC="sousmenu.htm" NAME="BAS" ...>
</FRAMESET>
</HEAD>
</HTML>

A suivre....

;0)
jeudi 17 août 2006 à 08:18:15 | Re : Menu et frames

sidommou

J'ai déjà une page index de cette forme :

<HTML>
<HEAD>
<TITLE>..</TITLE>
<FRAMESET ...>
  <FRAME SRC=" menu.htm" NAME="HAUT" ...>
  <FRAME NAME="CENTRE" ...>
</FRAMESET>
</HEAD>
</HTML>

mais le problème est que le menu est limité par l'auteur de la frame de Haut. Je voulais savoir s'il y avait quelque chose à faire pour rediriger l'affichage des sous menus vers la frame du centre à partir de celle du haut.

Merci

jeudi 17 août 2006 à 09:28:05 | Re : Menu et frames

PetoleTeam

Membre Club


B onjour...

Dans l'absolu le contenu d'une frame ne peut déborder sur une autre frame, SAUF pour un <SELECT>...

Une solution de secours peut être l'utilisation d'une <IFRAME ID="CENTRE" SRC="...."> avec un chargement de la page dans cette IFRAME avec une fonction du type...
//-----------------------
function LoadFichier( url_){
  var Obj = document.getElementById('CENTRE');
  Obj.src = url_;
}


;0)
jeudi 17 août 2006 à 13:00:54 | Re : Menu et frames

sidommou

Cette idée me plait beacoup. Merci de l'avoir suggérer. Pouvez vous m'endire plus.
jeudi 17 août 2006 à 17:50:27 | Re : Menu et frames

PetoleTeam

Membre Club
Allez plus loin implique que je jetes un oeil au code...

Triste constat en vérité...
  non compatible FireFox NetScape pas top Opéra...
  de plus pas très simple à mettre à niveau...

Je te proposes dans un premier temps de choisir un menu plus simple du type ce celui ci par exemple qui d'une mise en oeuvre simple...

Je suis persuadé qu'il doit y en avoir d'excellent sur ce site d'ailleurs...

A suivre donc...
;0)
vendredi 18 août 2006 à 08:24:54 | Re : Menu et frames

sidommou

Resalut,
Pour le menu que tu m'as proposé, je l'ai déja vu mais le code que j'ai integré etait un exemple car dans le site, le menu se charge dynamiquement de la base de données et il est multi-niveau. J'ai pas trouvé de menu multi-niveau autre que ça.
Pour mon problème, j'ai suivi tes indication et j'ai créer un page index qui fait appel au menu et contient un iframe où se charge le cotenu.
Merci de m'avoir aider pour résoudre mon problème.



Cette discussion est classée dans : menu, frames


Répondre à ce message

Sujets en rapport avec ce message

Frames et scroll [ par thetruche ] Bonjour,Voici mon problème:J'ai un site ou il y a un haut de page, un gros menu à gauche avec des layers et un le contenu à sa droite.le soucis est qu Barre menu style Windows [ par cstan ] salut a vous,je galere trop depuis 2, 3 jours !!!!HELP ME !!!!Pour mon projet je doit avoir une barre style windows en bas, jusqu'a la pas compliquer Menu java script et frames [ par Sextus ] Salut à tous,Je suis un web master débutant et je suis confronté à un facheux problème: j'ai configuré un menu en java script dans lequel des sous-me probleme de sous menu et frames [ par toddy_101 ] bonjour tout le monde,j'ai un probleme de menu, et j'espere bien que vous pouviez m'aider... voila, j'ai 2 frames, dans le 1er j'insere un menu horizo Problème de frame... 3/2 ! [ par vxr888 ] Bonjour, j'ai un petit problème de frame mais je ne sais pas si ce que uje veux faire est possible en js.En fait j'ai un page qui se compose de trois Menu déroulant et les frames [ par Jos ] Bonjour, Ça fait quelques fois que je recherche, j'ai trouvé quelques pistes sur ce site, mais rien qui n'a pu entièrement satisfaire complètement à supprimer 2 frames sur 3 [ par niamor23 ] Salut, j'ai fait un site avec 3 frames, une en haut, une à gauche pour un menu puis une centrale qui affiche les differentes pages. Je voudrais pouvoi fermer un menu qui possède trois frames [ par twiems ] Twiemsbonjourj'ai un probleme important J'ai un menu avec 3 frames. donc une page gauche une page droite et une page hautSur cette page de gauche je s ouvrir page en modifiant contenu des frames [ par cyrilc ] Salut à tous,J'ai une page (index.htm) contenant deux frames pointant vers respectivement vers bandeau.htm et principal.htm.Je voudrais pouvoir ouvrir pb de scrollable menu [ par jbidouille ] Salut, je cherche une solution pour mon site http://florian.peroud.free.fr/chevalet.htmlen fait j'arrive à faire défiler les images lorsqu'on passe sa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales