samedi 20 septembre 2008

Javascript: afficher - masquer dit effet Toogle

Après quelques vacances, les coulisses d'Expérience31 sont de retour... Ce petit article sort un peu du lot car il s'agit cette fois d'un peu de code pour les webmasters. Vous devez connaitre la fonction "Afficher / Masquer" représentée souvent par un + ou -, mais également connue sous le nom de Toogle. Non, dans ce cas, Toogle n'est pas la version "texte" du projet de recherche d'image de Google, mais une petit fonction Javascript qui vous permettra d'afficher et de masquer une partie de votre contenu se trouvant dans votre page web.... voyons çà de plus près!


Je vais donc vous présenter la version simple et optimiser pour tous les navigateurs. Donc pas d'effet de transition à l'aide de framework Javascript ou autres...Exit Prototype, Mootools, SimpleJS et les autres...

Le principe est simple:
  • Une page (x)html
  • Les blocs à masquer ou afficher
  • La fonction Javascript

1- Création de la page XHTML strict

Je crée un page XHTML strict pour l'exemple, bien entendu l'encodage de la page et son type ne joue pas de rôle dans le fonctionnement de la fonction.


2- Définition du bloc à afficher / masquer

Cette étape comporte 2 étapes:
  1. définir la zone (texte, bloc, image) qui va appelé la fonction javascript et permettre de réaliser l'effet voulu.
  2. définir la zone qui va être afficher et masquer
Suite à un problème de prise en charge des balises sur la plateforme blogger les balises d'ouverture "<" et de fermeture ">" ne sont pas présentes dans le code.

Le bloc visible servant à appeler la fonction javascript se compose d'un argument qui est l'id du bloc masqué. Le bloc masqué contient un attribut id servant à l'identifier et à attribuer la fonction à ce bloc en l'occurrence. "display : none" sert à masquer par défaut le bloc. En donnant le même id a plusieurs blocs, l'appel de la fonction affichera et masquera l'ensemble des blocs.


div onclick="tooglebox('blocmasque')"
Experience31
/div
div id="blocmasque" style="display: none;"
www.experience31.fr
/div



3- Création de la fonction javascript

La fonction javascript est a intégré dans les balises d'entête "head" de votre page web. Elle a pour particularité d'être simple, légère et donc rapide. Une seule fonction est nécessaire pour afficher et masquer les blocs...



script language="javascript" type="text/javascript"
// Affiche ou masque les details d'une zone
// idDetail : id de l'element contenant le detail
function tooglebox(idDetail) {
var style = document.getElementById(idDetail).style;
style.display = (style.display == "none") ? "" : "none";
}
/script



Bien entendu, cette fonction requière que le Javascript soit activé sur l'ordinateur de l'internaute.
Cette fonction peut être amélioré par exemple en remplaçant le "afficher" par "masquer" et inversement lors de l'exécution de la fonction, ou encore en rajoutant des effets de transtions... mais là, je vous conseille d'utiliser les frameworks Javascript.


Libellés :

Promouvoir cette article

Archives

Playlist Experience31


Publicite

Exp31

A propos de l'auteur

  • Surnom: Osiris
  • Localisation: Toulouse, Haute-Garonne, France

Statistiques

  • Provenance des derniers utilisateurs


PageRank Actuel



my blogasty


Creative Commons License

Blogger

1and1