begin process at 2012 05 28 11:22:56
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Menu & Co

 > MENU DÉROULANT POUR SITE PERSONNEL

MENU DÉROULANT POUR SITE PERSONNEL


 Information sur la source

Note :
6,5 / 10 - par 6 personnes
6,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Menu & Co Niveau :Débutant Date de création :11/07/2003 Date de mise à jour :11/07/2003 00:31:36 Vu :23 657

Auteur : T0x1K

Ecrire un message privé
Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

 Description

Ben vla a vous de juger :)
A noter que c'est ma premiere source sur javascriptfr

Source

  • <HEAD>
  • <SCRIPT LANGUAGE="JavaScript">
  • var isDOM = (document.getElementById ? true : false);
  • var isIE4 = ((document.all && !isDOM) ? true : false);
  • var isNS4 = (document.layers ? true : false);
  • function getRef(id) {
  • if (isDOM) return document.getElementById(id);
  • if (isIE4) return document.all[id];
  • if (isNS4) return document.layers[id];
  • }
  • function getSty(id) {
  • return (isNS4 ? getRef(id) : getRef(id).style);
  • }
  • var popTimer = 0;
  • var litNow = new Array();
  • function popOver(menuNum, itemNum) {
  • clearTimeout(popTimer);
  • hideAllBut(menuNum);
  • litNow = getTree(menuNum, itemNum);
  • changeCol(litNow, true);
  • targetNum = menu[menuNum][itemNum].target;
  • if (targetNum > 0) {
  • thisX = parseInt(menu[menuNum][0].ref.left) + parseInt(menu[menuNum][itemNum].ref.left);
  • thisY = parseInt(menu[menuNum][0].ref.top) + parseInt(menu[menuNum][itemNum].ref.top);
  • with (menu[targetNum][0].ref) {
  • left = parseInt(thisX + menu[targetNum][0].x);
  • top = parseInt(thisY + menu[targetNum][0].y);
  • visibility = 'visible';
  • }
  • }
  • }
  • function popOut(menuNum, itemNum) {
  • if ((menuNum == 0) && !menu[menuNum][itemNum].target)
  • hideAllBut(0)
  • else
  • popTimer = setTimeout('hideAllBut(0)', 500);
  • }
  • function getTree(menuNum, itemNum) {
  • itemArray = new Array(menu.length);
  • while(1) {
  • itemArray[menuNum] = itemNum;
  • if (menuNum == 0) return itemArray;
  • itemNum = menu[menuNum][0].parentItem;
  • menuNum = menu[menuNum][0].parentMenu;
  • }
  • }
  • function changeCol(changeArray, isOver) {
  • for (menuCount = 0; menuCount < changeArray.length; menuCount++) {
  • if (changeArray[menuCount]) {
  • newCol = isOver ? menu[menuCount][0].overCol : menu[menuCount][0].backCol;
  • with (menu[menuCount][changeArray[menuCount]].ref) {
  • if (isNS4) bgColor = newCol;
  • else backgroundColor = newCol;
  • }
  • }
  • }
  • }
  • function hideAllBut(menuNum) {
  • var keepMenus = getTree(menuNum, 1);
  • for (count = 0; count < menu.length; count++)
  • if (!keepMenus[count])
  • menu[count][0].ref.visibility = 'hidden';
  • changeCol(litNow, false);
  • }
  • function Menu(isVert, popInd, x, y, width, overCol, backCol, borderClass, textClass) {
  • this.isVert = isVert;
  • this.popInd = popInd
  • this.x = x;
  • this.y = y;
  • this.width = width;
  • this.overCol = overCol;
  • this.backCol = backCol;
  • this.borderClass = borderClass;
  • this.textClass = textClass;
  • this.parentMenu = null;
  • this.parentItem = null;
  • this.ref = null;
  • }
  • function Item(text, href, frame, length, spacing, target) {
  • this.text = text;
  • this.href = href;
  • this.frame = frame;
  • this.length = length;
  • this.spacing = spacing;
  • this.target = target;
  • this.ref = null;
  • }
  • function writeMenus() {
  • if (!isDOM && !isIE4 && !isNS4) return;
  • for (currMenu = 0; currMenu < menu.length; currMenu++) with (menu[currMenu][0]) {
  • var str = '', itemX = 0, itemY = 0;
  • for (currItem = 1; currItem < menu[currMenu].length; currItem++) with (menu[currMenu][currItem]) {
  • var itemID = 'menu' + currMenu + 'item' + currItem;
  • var w = (isVert ? width : length);
  • var h = (isVert ? length : width);
  • if (isDOM || isIE4) {
  • str += '<div id="' + itemID + '" style="position: absolute; left: ' + itemX + '; top: ' + itemY + '; width: ' + w + '; height: ' + h + '; visibility: inherit; ';
  • if (backCol) str += 'background: ' + backCol + '; ';
  • str += '" ';
  • }
  • if (isNS4) {
  • str += '<layer id="' + itemID + '" left="' + itemX + '" top="' + itemY + '" width="' + w + '" height="' + h + '" visibility="inherit" ';
  • if (backCol) str += 'bgcolor="' + backCol + '" ';
  • }
  • if (borderClass) str += 'class="' + borderClass + '" ';
  • str += 'onMouseOver="popOver(' + currMenu + ',' + currItem + ')" onMouseOut="popOut(' + currMenu + ',' + currItem + ')">';
  • str += '<table width="' + (w - 8) + '" border="0" cellspacing="0" cellpadding="' + (!isNS4 && borderClass ? 3 : 0) + '"><tr><td width=1 nowrap></td><td align="left" height="' + (h - 7) + '">' + (href ? '<a class="' + textClass + '" href="' + href + '"' + (frame ? ' target="' + frame + '">' : '>') + text + '</a></td>' : '<a class="' + textClass + '">' + text + '</a></td>');
  • if (target > 0) {
  • menu[target][0].parentMenu = currMenu;
  • menu[target][0].parentItem = currItem;
  • if (popInd) str += '<td class="' + textClass + '" align="right">' + popInd + '</td>';
  • }
  • str += '</tr></table>' + (isNS4 ? '</layer>' : '</div>');
  • if (isVert) itemY += length + spacing;
  • else itemX += length + spacing;
  • }
  • if (isDOM) {
  • var newDiv = document.createElement('div');
  • document.getElementsByTagName('body').item(0).appendChild(newDiv);
  • newDiv.innerHTML = str;
  • ref = newDiv.style;
  • ref.position = 'absolute';
  • ref.visibility = 'hidden';
  • }
  • if (isIE4) {
  • document.body.insertAdjacentHTML('beforeEnd', '<div id="menu' + currMenu + 'div" ' + 'style="position: absolute; visibility: hidden">' + str + '</div>');
  • ref = getSty('menu' + currMenu + 'div');
  • }
  • if (isNS4) {
  • ref = new Layer(0);
  • ref.document.write(str);
  • ref.document.close();
  • }
  • for (currItem = 1; currItem < menu[currMenu].length; currItem++) {
  • itemName = 'menu' + currMenu + 'item' + currItem;
  • if (isDOM || isIE4) menu[currMenu][currItem].ref = getSty(itemName);
  • if (isNS4) menu[currMenu][currItem].ref = ref.document[itemName];
  • }
  • }
  • with(menu[0][0]) {
  • ref.left = x;
  • ref.top = y;
  • ref.visibility = 'visible';
  • }
  • }
  • var menu = new Array();
  • menu[0]=new Array();
  • menu[0][0]=new Menu(true,' ',0,0,100,'#0080FF','#8080FF','itemunBorder','itemunText');
  • menu[0][1]=new Item('','','_self',25, 0, 0);
  • menu[0][2]=new Item('Index','index.htm','_self',25, 0, 0);
  • menu[0][3]=new Item('Moi','','_self',25, 0, 1);
  • menu[1]=new Array();
  • menu[1][0]=new Menu(true, '>',100,0 ,80, '#FFA851', '#80FFFF', 'itemBorder', 'itemText');
  • menu[1][1]=new Item('Mes hobbys','hobbys.htm','_self',15, 0, 0);
  • menu[1][2]=new Item('Mon CV','CV.htm','_self',15, 0, 0);
  • menu[0][4]=new Item('Interactif','','_self',25, 0, 2);
  • menu[2]=new Array();
  • menu[2][0]=new Menu(true, '>',100,0 ,80, '#FFA851', '#80FFFF', 'itemBorder', 'itemText');
  • menu[2][1]=new Item('Livre d'or','livredor.htm','_self',15, 0, 0);
  • menu[2][2]=new Item('Forum','forum.htm','_self',15, 0, 0);
  • menu[2][3]=new Item('Chat','Chat.htm','_self',15, 0, 0);
  • menu[2][4]=new Item('Vos lien','liens.htm','_self',15, 0, 0);
  • menu[0][5]=new Item('Contacts','','_self',25, 0, 3);
  • menu[3]=new Array();
  • menu[3][0]=new Menu(true, '>',100,0 ,80, '#FFA851', '#80FFFF', 'itemBorder', 'itemText');
  • </script>
  • <style>
  • <!--
  • .itemunBorder { border: 1px solid black }
  • .itemunText {text-decoration: none; color: #FFFFFF; font: 11px MS Sans Serif}
  • .itemBorder { border: 1px solid black }
  • .itemText {text-decoration: none; color: #0000FF; font: 11px MS Sans Serif}
  • .itemtroisBorder { border: 1px solid black }
  • .itemtroisText {text-decoration: none; color: #800000; font: 11px MS Sans Serif}
  • -->
  • </style>
  • </HEAD>
  • <BODY marginwidth="0" marginheight="0" style="margin: 0" onLoad="writeMenus()" onResize="if (isNS4) nsResizeHandler()">
<HEAD>

<SCRIPT LANGUAGE="JavaScript">
var isDOM = (document.getElementById ? true : false); 
var isIE4 = ((document.all && !isDOM) ? true : false);
var isNS4 = (document.layers ? true : false);
function getRef(id) {
if (isDOM) return document.getElementById(id);
if (isIE4) return document.all[id];
if (isNS4) return document.layers[id];
}
function getSty(id) {
return (isNS4 ? getRef(id) : getRef(id).style);
} 

var popTimer = 0;
var litNow = new Array();
function popOver(menuNum, itemNum) {
clearTimeout(popTimer);
hideAllBut(menuNum);
litNow = getTree(menuNum, itemNum);
changeCol(litNow, true);
targetNum = menu[menuNum][itemNum].target;
if (targetNum > 0) {
thisX = parseInt(menu[menuNum][0].ref.left) + parseInt(menu[menuNum][itemNum].ref.left);
thisY = parseInt(menu[menuNum][0].ref.top) + parseInt(menu[menuNum][itemNum].ref.top);
with (menu[targetNum][0].ref) {
left = parseInt(thisX + menu[targetNum][0].x);
top = parseInt(thisY + menu[targetNum][0].y);
visibility = 'visible';
      }
   }
}
function popOut(menuNum, itemNum) {
if ((menuNum == 0) && !menu[menuNum][itemNum].target)
hideAllBut(0)
else
popTimer = setTimeout('hideAllBut(0)', 500);
}
function getTree(menuNum, itemNum) {
itemArray = new Array(menu.length);
while(1) {
itemArray[menuNum] = itemNum;
if (menuNum == 0) return itemArray;
itemNum = menu[menuNum][0].parentItem;
menuNum = menu[menuNum][0].parentMenu;
   }
}

function changeCol(changeArray, isOver) {
for (menuCount = 0; menuCount < changeArray.length; menuCount++) {
if (changeArray[menuCount]) {
newCol = isOver ? menu[menuCount][0].overCol : menu[menuCount][0].backCol;
with (menu[menuCount][changeArray[menuCount]].ref) {
if (isNS4) bgColor = newCol;
else backgroundColor = newCol;
         }
      }
   }
}
function hideAllBut(menuNum) {
var keepMenus = getTree(menuNum, 1);
for (count = 0; count < menu.length; count++)
if (!keepMenus[count])
menu[count][0].ref.visibility = 'hidden';
changeCol(litNow, false);
}

function Menu(isVert, popInd, x, y, width, overCol, backCol, borderClass, textClass) {
this.isVert = isVert;
this.popInd = popInd
this.x = x;
this.y = y;
this.width = width;
this.overCol = overCol;
this.backCol = backCol;
this.borderClass = borderClass;
this.textClass = textClass;
this.parentMenu = null;
this.parentItem = null;
this.ref = null;
}

function Item(text, href, frame, length, spacing, target) {
this.text = text;
this.href = href;
this.frame = frame;
this.length = length;
this.spacing = spacing;
this.target = target;
this.ref = null;
}

function writeMenus() {
if (!isDOM && !isIE4 && !isNS4) return;

for (currMenu = 0; currMenu < menu.length; currMenu++) with (menu[currMenu][0]) {
var str = '', itemX = 0, itemY = 0;
for (currItem = 1; currItem < menu[currMenu].length; currItem++) with (menu[currMenu][currItem]) {
var itemID = 'menu' + currMenu + 'item' + currItem;
var w = (isVert ? width : length);
var h = (isVert ? length : width);
if (isDOM || isIE4) {
str += '<div id="' + itemID + '" style="position: absolute; left: ' + itemX + '; top: ' + itemY + '; width: ' + w + '; height: ' + h + '; visibility: inherit; ';
if (backCol) str += 'background: ' + backCol + '; ';
str += '" ';
}
if (isNS4) {
str += '<layer id="' + itemID + '" left="' + itemX + '" top="' + itemY + '" width="' +  w + '" height="' + h + '" visibility="inherit" ';
if (backCol) str += 'bgcolor="' + backCol + '" ';
}
if (borderClass) str += 'class="' + borderClass + '" ';

str += 'onMouseOver="popOver(' + currMenu + ',' + currItem + ')" onMouseOut="popOut(' + currMenu + ',' + currItem + ')">';

str += '<table width="' + (w - 8) + '" border="0" cellspacing="0" cellpadding="' + (!isNS4 && borderClass ? 3 : 0) + '"><tr><td width=1 nowrap></td><td align="left" height="' + (h - 7) + '">' + (href ?  '<a class="' + textClass + '" href="' + href + '"' + (frame ? ' target="' + frame + '">' : '>') + text + '</a></td>' :  '<a class="' + textClass + '">' + text + '</a></td>');
if (target > 0) {

menu[target][0].parentMenu = currMenu;
menu[target][0].parentItem = currItem;

if (popInd) str += '<td class="' + textClass + '" align="right">' + popInd + '</td>';
}
str += '</tr></table>' + (isNS4 ? '</layer>' : '</div>');
if (isVert) itemY += length + spacing;
else itemX += length + spacing;
}
if (isDOM) {
var newDiv = document.createElement('div');
document.getElementsByTagName('body').item(0).appendChild(newDiv);
newDiv.innerHTML = str;
ref = newDiv.style;
ref.position = 'absolute';
ref.visibility = 'hidden';
}

if (isIE4) {
document.body.insertAdjacentHTML('beforeEnd', '<div id="menu' + currMenu + 'div" ' + 'style="position: absolute; visibility: hidden">' + str + '</div>');
ref = getSty('menu' + currMenu + 'div');
}

if (isNS4) {
ref = new Layer(0);
ref.document.write(str);
ref.document.close();
}

for (currItem = 1; currItem < menu[currMenu].length; currItem++) {
itemName = 'menu' + currMenu + 'item' + currItem;
if (isDOM || isIE4) menu[currMenu][currItem].ref = getSty(itemName);
if (isNS4) menu[currMenu][currItem].ref = ref.document[itemName];
   }
}
with(menu[0][0]) {
ref.left = x;
ref.top = y;
ref.visibility = 'visible';
   }
}


var menu = new Array();
menu[0]=new Array();
menu[0][0]=new Menu(true,' ',0,0,100,'#0080FF','#8080FF','itemunBorder','itemunText');
menu[0][1]=new Item('','','_self',25, 0, 0);
menu[0][2]=new Item('Index','index.htm','_self',25, 0, 0);
menu[0][3]=new Item('Moi','','_self',25, 0, 1);
menu[1]=new Array();
menu[1][0]=new Menu(true, '>',100,0 ,80, '#FFA851', '#80FFFF', 'itemBorder', 'itemText');
menu[1][1]=new Item('Mes hobbys','hobbys.htm','_self',15, 0, 0);
menu[1][2]=new Item('Mon CV','CV.htm','_self',15, 0, 0);
menu[0][4]=new Item('Interactif','','_self',25, 0, 2);
menu[2]=new Array();
menu[2][0]=new Menu(true, '>',100,0 ,80, '#FFA851', '#80FFFF', 'itemBorder', 'itemText');
menu[2][1]=new Item('Livre d'or','livredor.htm','_self',15, 0, 0);
menu[2][2]=new Item('Forum','forum.htm','_self',15, 0, 0);
menu[2][3]=new Item('Chat','Chat.htm','_self',15, 0, 0);
menu[2][4]=new Item('Vos lien','liens.htm','_self',15, 0, 0);
menu[0][5]=new Item('Contacts','','_self',25, 0, 3);
menu[3]=new Array();
menu[3][0]=new Menu(true, '>',100,0 ,80, '#FFA851', '#80FFFF', 'itemBorder', 'itemText');
</script>
<style>
<!--
.itemunBorder { border: 1px solid black }
.itemunText {text-decoration: none; color: #FFFFFF; font:  11px MS Sans Serif}
.itemBorder { border: 1px solid black }
.itemText {text-decoration: none; color: #0000FF; font:  11px MS Sans Serif}
.itemtroisBorder { border: 1px solid black }
.itemtroisText {text-decoration: none; color: #800000; font:  11px MS Sans Serif}
-->
</style>
</HEAD>
<BODY marginwidth="0" marginheight="0" style="margin: 0" onLoad="writeMenus()" onResize="if (isNS4) nsResizeHandler()">

 Conclusion

++
Bon site!


 Sources du même auteur

STATUSBAR - A VOUS DE VOIR, JE SAIS PAS DÉCRIRE
STATUSBAR GENRE MISSION

 Sources de la même categorie

Source avec Zip Source avec une capture UN MENU EN CSS par Julien39
Source avec Zip FLÈCHE CLIGNOTANTE AU SURVOL D'UN LIEN par lecurieux41
Source avec Zip Source avec une capture TREEMENU-2.3.6-MACNIP par neep
Source avec Zip Source avec une capture MENU CIRCULAIRE par adelmonis
Source avec Zip Source avec une capture MENU TASKBAR WINDOWSXP HOME par micking

Commentaires et avis

Commentaire de T0x1K le 11/07/2003 00:38:37

euh déposez vos commentaire svp

Commentaire de Mumuri le 11/07/2003 13:44:16

bienvenue sur le réseaux javascript alors ;)

Commentaire de T0x1K le 11/07/2003 19:13:28

lol mici mumuri

Commentaire de jerms le 15/07/2003 09:48:08

une p'tite capture d'ecran ce serai sympa

Commentaire de champy le 21/08/2003 21:36:46

merci pour ta source, elle me sauve la vie !

Commentaire de T0x1K le 23/08/2003 20:40:06

lol derien ;)

Commentaire de tiggy le 26/03/2004 21:06:48

moi ca marche pas

Commentaire de Gobelindefeu le 11/12/2004 13:45:47

juste comme ca vu que tu as Onloade et ben apres ca va pas si tu veux ecrire du texte par dessus

Commentaire de macromed le 09/04/2006 18:12:47

Marche pas sous IE 6

Commentaire de goldziko9 le 06/07/2006 15:34:39

c'est très cool votre source, mais j'ai passer 5mn a supprimer la list des numero, peut etre mieu si tu met la source en zip.

 Ajouter un commentaire




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,749 sec (3)

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