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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
| <style type="text/css">
<!--
#master {position:absolute; width: 200px; top: 10px; left: -120px; z-index:2; visibility:visible;}
#menu {position:absolute; width: 18px; top: 0px; left: 120px; z-index:5; visibility:visible;}
#top {position:absolute; width: 120px; top: 0px; left: 0px; z-index:5; visibility:visible;}
#liens {position:absolute; width: 120px; top: 6px; left: 0px; z-index:5; visibility:visible;}
.NavJump {font-family: arial; font-size: 10pt; color: #808080; text-decoration: none;}
a:link.NavJump {color : #808080;}
a:visited.NavJump {color : #808080;}
a:active.NavJump {text-decoration: none; color: #C0C0C0;}
a:hover.NavJump {text-decoration: none; color: #C0C0C0;}
-->
</style>
<script language = "javascript">
<!--
/*
Script amélioré, mis à jour pour NS6+ - Mozilla 1+ et commenté par le site WEB Creation.
Non testé pour NS4 mais devrait fonctionner.
D'autres scripts ?
>> http://www.web-creation-fr.com
Merci de laisser ces commentaires.
*/
// On définit 3 variables, selon les propriétés de calques gérées par le navigateur
var ie = document . all ? 1 : 0
var ns = document . layers ? 1 : 0
var ns6 = document.getElementById && !document.all ? 1 : 0
// Position en hauteur une fois le menu ouvert
var topOpen = 10;
// Position en hauteur lorsque le menu est fermé
var topClosed = 10;
var master = new Object("element")
master . curLeft = -120; // Position de départ du calque
master . curTop = 10; // Hauteur de départ du calque
master . gapLeft = 0;
master . gapTop = 0;
master . timer = null;
function moveAlong(layerName, paceLeft, paceTop, fromLeft, fromTop)
{
clearTimeout(eval(layerName) . timer);
if (eval(layerName) . curLeft != fromLeft) {
// Calcul position horizontale
if ((Math . max(eval(layerName) . curLeft, fromLeft) - Math . min(eval(layerName) . curLeft, fromLeft)) < paceLeft) {
eval(layerName) . curLeft = fromLeft;
} else if (eval(layerName) . curLeft < fromLeft) {
eval(layerName) . curLeft = eval(layerName) . curLeft + paceLeft;
} else if (eval(layerName) . curLeft > fromLeft) {
eval(layerName) . curLeft = eval(layerName) . curLeft - paceLeft;
}
// Définition de la position horizontale du menu
if (ie) {
document . all[layerName] . style . left = eval(layerName) . curLeft;
}
if (ns) {
document[layerName] . left = eval(layerName) . curLeft;
}
if (ns6) {
document . getElementById(layerName) . style . left = eval(layerName) . curLeft;
}
}
if (eval(layerName) . curTop != fromTop) {
// Calcul position verticale
if ((Math . max(eval(layerName) . curTop, fromTop) - Math . min(eval(layerName) . curTop, fromTop)) < paceTop) {
eval(layerName) . curTop = fromTop;
} else if (eval(layerName) . curTop < fromTop) {
eval(layerName) . curTop = eval(layerName) . curTop + paceTop;
} else if (eval(layerName) . curTop > fromTop) {
eval(layerName) . curTop = eval(layerName) . curTop - paceTop;
}
// Définition position verticale du menu
if (ie) {
document . all[layerName] . style . top = eval(layerName) . curTop;
}
if (ns) {
document[layerName] . top = eval(layerName) . curTop;
}
if (ns6) {
document . getElementById(layerName) . style . top = eval(layerName) . curTop;
}
}
eval(layerName) . timer = setTimeout('moveAlong("' + layerName + '",' + paceLeft + ',' + paceTop + ',' + fromLeft + ',' + fromTop + ')', 30)
} // Fin function MoveAlong
function setPace(layerName, fromLeft, fromTop, motionSpeed)
{
eval(layerName) . gapLeft = (Math . max(eval(layerName) . curLeft, fromLeft) - Math . min(eval(layerName) . curLeft, fromLeft)) / motionSpeed;
eval(layerName) . gapTop = (Math . max(eval(layerName) . curTop, fromTop) - Math . min(eval(layerName) . curTop, fromTop)) / motionSpeed;
// Ouvre le menu
moveAlong(layerName, eval(layerName) . gapLeft, eval(layerName) . gapTop, fromLeft, fromTop)
}
// Définition du menu à "fermé" lors de l'arrivée sur le site
var expandState = 0;
// Fonction Expand ()
function expand()
{
if (expandState == 0) { // si le menu est fermé
// Passe les paramètres d'ouverture à la fonction setPace qui contient la fonction d'ouverture "moveAlong()"
// setPace ("nom du calque", "position par rapport à la gauche", "position en hauteur", "vitesse d'ouverture")
setPace("master", 0, topOpen, 10);
// Modification de l'image "menu" :
if (ie) {
document . menutop . src = "7/menub.gif";
} else if (ns6) {
document . getElementById("img_menu") . innerHTML = "<img src=\"7/menub.gif\" border=\"0\" width=\"18\" height=\"70\">";
}
expandState = 1; // définition de l'état à "ouvert"
} else { // Si le menu est ouvert
setPace("master", -120, topClosed, 10); // Referme le menu
// Modification de l'image "menu" :
if (ie) {
document . menutop . src = "7/menu.gif";
} else if (ns6) {
document . getElementById("img_menu") . innerHTML = "<img src=\"7/menu.gif\" border=\"0\" width=\"18\" height=\"70\">";
}
expandState = 0; // définition de l'état à "fermé"
}
}
//-->
</script> |
Partager