Creation automatique sommaire

Soyez le premier à donner votre avis sur cette source.

Vue 9 062 fois - Téléchargée 698 fois

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

Ajouter un commentaire

Commentaires

masternico
Messages postés
494
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
1 septembre 2011
-
La fonction est interessante. Reste à changer le style... :)
cavalier2400
Messages postés
120
Date d'inscription
mardi 8 juillet 2008
Statut
Membre
Dernière intervention
1 décembre 2010
1 -
Bonsoir, je n'arrive pas placer this sommaire en bas de bas page, merci pour votre aide.
PetoleTeam
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
11 -
Bonjour,
il te suffit d'insérer le script en fin de ta page
<html>
<head>
<title>[PetoleTeam]</title>
</head>

LE CONTENU de TA PAGE
<script type="text/javascript">
WriteSommaire();
WriteNextLast();
</script>

</html>

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.