Ce script permet de créer automatiquement un sommaire sans avoir à le resaisir dans chacunes des pages.
Deux présentations sont disponibles :
Création d'une barre avec les liens vers les autres pages...
Création d'un lien Précédent et Suivant...
Source / Exemple :
//--------------------------------------
// Nom Document : GFINDEX.JS
// Auteur : G.Ferraz
// Objet :
// Mise à Jour :
// ------------------------------------
//-------------
function Lien(){
this.Href = new Array();
this.Label = new Array();
this.AddLien = AddLien;
}
//------------------------------
function AddLien( href_, label_){
var i = this.Href.length;
this.Href[i] = href_;
this.Label[i] = label_;
}
//----------------------
function WriteSommaire(){
var i;
var Html ="";
var Appel;
//-- Récupération page affichée
Appel = window.location.href;
Appel = Appel.toLowerCase();
//-- Début affichage Sommaire
Html +='<table width="99%"><tr><td align=center>';
Html +='<table border=0 cellspacing=1 cellpadding=5 bgcolor="#808080"><tr>';
with( Cde){
for( i =0; i < Href.length;i++){
//-- Si le lien n'est pas la page affichée
if( Appel.indexOf( Href[i]) < 0){
Html += '<td nowrap align=center valign=center bgcolor="#f0f0f0">';
Html += '<a class="ALien" href="' +Href[i] +'">' +Label[i] +'</a></td>';
}
else{
Html += '<td nowrap align=center valign=center bgcolor="#0000c0">';
Html += '<span class=Appel>' +Label[i] +'</span></td>';
}
}
}
Html +='</tr></table>';
Html +='</td></tr></table>';
document.write( Html);
}
//----------------------
function WriteNextLast(){
var i;
var Html ="";
var Appel;
var Avant = -1;
var Apres = -1;
var szApres ="[ Suivant ]";
var szAvant ="[ Précédent ]";
//-- Récupération page affichée
Appel = window.location.href;
Appel = Appel.toLowerCase();
//-- Traitement
with( Cde){
//-- Premier de la liste donc pas de précédent
if( Appel.indexOf( Href[0]) > -1){
Avant = -1;
Apres = 1;
}
//-- Dernier de la liste donc pas de suivant
if( Appel.indexOf( Href[Href.length-1]) > -1){
Avant = Href.length-2;
Apres = -1;
}
//-- Les autres cas
for( i=1; i < Href.length-1; i++){
if( Appel.indexOf( Href[i])> -1){
Avant = i-1;
Apres = i+1;
}
}
}
//-- Début affichage
Html +='<table width="99%"><tr><td align=center>';
Html +='<table border=0 cellspacing=2 cellpadding=5><tr>';
with( Cde){
if( Avant >-1)
Html += '<td nowrap align=center><a class="ALien" href="' +Href[Avant] +'">' + szAvant +'</a></td>';
else
Html += '<td nowrap align=center class=NoActif>'+ szAvant +'</td>';
if( Apres >-1)
Html += '<td nowrap align=center><a class="ALien" href="' +Href[Apres] +'">' +szApres +'</a></td>';
else
Html += '<td nowrap align=center class=NoActif>'+ szApres +'</td>';
}
Html +='</tr></table>';
Html +='</td></tr></table>';
document.write( Html);
}
//== INITIALISATION ==================
//-- Création des liens vers les pages
var Cde = new Lien();
Cde.AddLien( "gfindex.htm", "Acceuil");
Cde.AddLien( "page_01.htm", "Page 1");
Cde.AddLien( "page_02.htm", "Page 2");
Cde.AddLien( "page_03.htm", "Page 3");
Cde.AddLien( "page_04.htm", "Page 4");
//-- On met du style pour le Sommaire
Html = '<STYLE TYPE="text/css">';
Html += 'A.ALien:LINK,';
Html += 'A.ALien:VISITED{color:#0000ff; font-size:13px; font-family:Verdana; font-weight:bold; text-decoration:none;}';
Html += 'A.ALien:ACTIVE {color:#0000ff; font-size:13px; font-family:Verdana; font-weight:bold; text-decoration:none;}';
Html += 'A.ALien:HOVER {color:#00c000;}';
Html += '.Appel {color:#00ff00; font-size:13px; font-family:Verdana; font-weight:bold; text-decoration:none;}';
Html += '.NoActif {color:#c0c0c0; font-size:13px; font-family:Verdana; font-weight:bold; text-decoration:none;}';
Html += '</STYLE>';
document.write( Html);
//-- EoF ----------------------------------------------------------------------
Conclusion :
Ceci est un exemple que vous pouvez tout à fait enrichir... ne vous genez surtout pas
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.