29-11-2011 : Remettre dans le débat politique les principes du Conseil National de la Résistance
29-01-2012 : Parce que nous sommes un peuple debout, agissons pour rester dignes et responsables !
Logo de mon site
Logo de mon site
Faire un don

Luxpopuli / Internet / JavaScript : quelques scripts / JavaScript : lien "Retour haut de page"





Right menu

Logo du site ez.no  Logo XHTML 1.O du W3C  Logo XHTML 1.O du W3C  Site francophone officiel de Firefox

JavaScript : lien "Retour haut de page"

Date de publication: le lundi 25 février 2008 à 03h52
Dernière modification: par Pascal BOYER le lundi 25 février 2008 à 04h40
« Article précédent: JavaScript : lien "Imprimer cet article"

Le javascript présenté ci-dessous utilise la librairie smooth.js ou sa version compactée smooth.pack.js

L'objet de cette librairie est d'imprimer un mouvement décrescendo à la vitesse du mouvement de retour vers le haut de la page. Vous pouvez tester ce mouvement en cliquant sur la flèche située à droite de cet article.

Compatibilité

Fonctionne avec les navigateurs suivants:

  • Firefox 2,
  • Internet Explorer 6,
  • Internet Explorer 7,
  • Konqueror,
  • Opéra.

Je n'ai pas eu le loisir de tester d'autres navigateurs.

Télécharger la librairie smooth.js

Vous trouverez la librairie smooth.js ou sa version compactée sur le site dezinerfolio.com

Installation

Une fois l'archive df_smooth_scroll.zip téléchargée, vous devez en extraire une des deux librairies.

Par soucis d'efficacité, nous placerons le version compactée ( smooth.pack.js) dans le sous-répertoire javascript d'un design du site.

Une commande pourrait être (après avoir dézipé l'archive):

cp smooth.pack.js /usr/local/www/design/plain_site/javascript/

Si vous utilisez la méthode d'appel automatique des javascript, c'est à dire si vous trouvez des lignes similaires dans l'en-tête de vos templates pagelayout.tpl :

{section name=JavaScript loop=ezini( 'JavaScriptSettings', 'JavaScriptList', 'design.ini' ) }
      <script language="JavaScript" type="text/javascript" src={concat( 'javascript/',$:item )|ezdesign}></script>
 {/section}

alors, vous devez à présent ajouter une ligne au fichier de surcharge design.ini.append.php de votre siteaccess:

[JavaScriptSettings]
# Liste des fichiers JavaScript à inclure dans pagelayout
JavaScriptList[]=smooth.pack.js

Pensez ensuite à vider les caches (effacez au minimum tout le contenu du répertoire var/plain_site/cache/template/compiled/) pour que le nouveau javascript soit chargé.

Si vous préférez ne pas utiliser cette méthode, ajoutez donc simplement cette ligne dans l'en-tête de votre fichier pagelayout.tpl:

{literal}
    <script language="JavaScript" type="text/javascript" src="/design/plain_site/javascript/mootools.js"></script>
{/literal}

Cette deuxième méthode vous dispense de vider les caches.

Le code HTML

Puisque la librairie smooth.pack.js affectera désormais le comportement de toutes les ancres du site, vous devez donc en créer une au tout début du corps des pages HTML:

<body>
<a name="top"></a>

Ensuite, vous créez, selon votre bon vouloir, un lien vers cette ancre.
Si vous utilisez une image (une flèche gif par exemple), voici à quoi doit ressembler ce lien à placer, bien sûr, quelque part dans le corps de vos pages HTML.:

<a id="hautdepage" href="#top" title="Retour vers le haut du document">
    <img src={"images/fleche.gif"|ezdesign} alt="Lien vers le haut de la page" />
</a>

Il ne vous reste plus qu'à créer, éventuellement, les règles CSS permettant de positionner le lien:

#hautdepage {   /* fleche de retour vers le haut */
    bottom: 40%;    /* Position de la fleche */
    right: 6px;     /* Position de la fleche */
    width: 68px;   /* Taille de la fleche */
    height: 69px;  /* Taille de la fleche */
}
body > #hautdepage {    /* fleche de retour vers le haut */
    position: fixed;    /* Position de la fleche */
}
 

Sans javascript

Pour mémoire, voici comment ne pas utiliser de javascript pour réaliser un lien Retour vers le haut de page.

Placer le code HTML suivant dans le fichier pagelayout.tpl:

<body id="top">
<a id="hautdepage" href="#top" title="Retour haut du document">
     <img src={"/images/fleche_4.png"|ezdesign} alt="Lien vers le haut de la page" />
</a>

Les règles CSS:

#hautdepage {   /* fleche de retour vers le haut */
    bottom: 40%;    /* Position de la fleche */
    right: 6px;     /* Position de la fleche */
    width: 68px;   /* Taille de la fleche */
    height: 69px;  /* Taille de la fleche */
}
body > #hautdepage {    /* fleche de retour vers le haut */
    position: fixed;    /* Position de la fleche */
}

Commentaires