Creation automatique sommaire

Description

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 ="[&nbsp;Suivant&nbsp;]";
  var szAvant ="[&nbsp;Précédent&nbsp;]";

  //-- 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

Codes Sources

A voir également

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.