ONGLETS REPOSANT SUR DES DIV ET DU CSS

moaleboss Messages postés 19 Date d'inscription lundi 20 janvier 2003 Statut Membre Dernière intervention 24 juillet 2007 - 9 juil. 2007 à 09:05
cs_daynos Messages postés 9 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 18 mai 2008 - 18 mai 2008 à 18:17
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/43323-onglets-reposant-sur-des-div-et-du-css

cs_daynos Messages postés 9 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 18 mai 2008
18 mai 2008 à 18:17
Bonjour,

Là comme ça le script n'a pas été prévu pour. Mais avec quelques modifications, ça doit être parfaitement faisable.

Par contre je suis désolé, mais je n'ai pas franchement le temps de m'y pencher moi-même pour l'instant. Si quelqu'un peut le faire, qu'il n'hésite pas à me tenir au courant, je mettrai à jour le script (sans oublier de le citer bien évidemment).

En tout cas merci pour ton commentaire ;).

PS en passant : j'ai supprimé mon adresse email "devjs@daynos.net", trop de spam ; c'est de ma faute, j'aurais pas du la mettre aussi lisible dans le code. Pour la nouvele adresse, mettez 'devfr' à la place de 'devjs'.
dlimouzin Messages postés 11 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 30 décembre 2008
12 mai 2008 à 15:23
Très intéressant.
Je me pose une question cependant.
Ayant à gérer une page très volumineuse (600Ko)
je voudrais savoir s'il était possible de gérer le chargement des onglets juste au click sur celui-ci de façon à réduire le temps d'attente initial.
Cordialement
cs_daynos Messages postés 9 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 18 mai 2008
24 juil. 2007 à 15:37
Article très intéressant, et je partage amplement cette vision.

Je n'ai jamais été favorable à l'utilisation massive de javascript. En fait je pense pouvoir dire que j'ai longtemps été de ces "anti-javacript parce que c'est pas activé partout". Je me remets en cause sur ce point de vue, parce que comme tout le monde, j'aime visiter des sites plaisant à consulter.

Je me suis donc mis dernièrement à javascript. Pas trop difficile en soit, il obéit aux mêmes normes que l'actionscript de Flash que je maîtrise assez bien. Par ailleurs, j'avais un travail à faire dans un cadre précis : des formulaires de consultation et de saisie à ajouter dans l'intranet de ma boite. C'est à dire un parc informatique "maîtrisé", où l'on sait comment son paramétrés toutes les machines, la version des navigateurs, la taille des écrans, les compétences du personnel, etc.
Sachant que javascript était correctement installé et interprété sur toutes les machines, et que le serveur était en local sur un réseau 100mbps (côté client), ça m'ôtait quand même pas mal de soucis.

Pour des soucis "d'ergonomie du produit final", une présentation en onglet était préférée. A cela s'ajoutait un autre impératif : on devait pouvoir passer d'un onglet à l'autre sans que les modifications apportées au contenu d'un onglet soient perdues, ni écrasent le contenu de la base avant que l'ensemble des modifications ait été validé.

J'avais bien sûr l'option des sessions, de la mise en "base de donnée temporaire", mais bon, j'ai opté pour des onglets utilisant la balise "DIV" et du javascript. Ca me smeblait être la solution la plus simple. Et puis j'avais envi de faire du javascript pour ma culture personnelle :D. Ce dernier point n'est pas à négliger, je dois l'avouer, j'avais envie de profiter de ce développement relativement libre pour tester les possibilités actuelles de javascript. Je pense en particulier à tout ce qui tourne autour du terme "AJAX". Ce terme existe depuis quelques années déjà, mais je n'avais jamais eu l'occasion de me pencher sérieusement sur le sujet jusque là.




Bref c'est donc dans un environnement 100% compatible javascript et super rapide que j'ai conçu la première version de ce script. Ce qui explique que je ne me sois pas vraiment préoccupé du rendu avec javascript désactivé, ni du poids total du script (enfin du framework qu'il requiert ;)).
Mamoune2005 Messages postés 9 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 3 novembre 2008
24 juil. 2007 à 10:00
Je suis un peu de l'école qui est exposée dans l'article suivant :
http://pompage.net/pompe/separation/
et donc javascript, oui, mais seulement pour modifier (en améliorant, bien sur) le comportement.

Donc s'il y a bien des calques fonctionnels quand le javascript n'est pas actif, tu as entièrement comblé ma critique. Je n'ai pas le temps de regarder maintenant.

Même remarque que Moaleboss, le validateur HTML ne valide que le HTML, ..., donc si ton javascript est bien dans ces balises, c'est valide.
moaleboss Messages postés 19 Date d'inscription lundi 20 janvier 2003 Statut Membre Dernière intervention 24 juillet 2007
24 juil. 2007 à 08:21
Salut,

En Javascript, quand tu met du code HTML, et que tu ferme une balise, il faut que les '/' soit précédés du caractère d'échappement '\'
Exemple :
oOnglet.addOngletHtml ("Onglet HTML", "Pour tester
");
Devient :
oOnglet.addOngletHtml ("Onglet HTML", "<h1>Pour tester<\/h1>");

Au passage, le validateur de code HTML du W3C ne corrige pas les erreurs Javascript ;-)

Bonne prog
cs_daynos Messages postés 9 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 18 mai 2008
23 juil. 2007 à 21:29
Concernant le full XHTML, je viens de tester l'index sur validator.w3c.org, il me dit que c'est bon. Si vous voyez un truc en particulier à corriger, prévenez-moi.

J'ai eu du mal à comprendre ce que Mamoune2005 voulait dire. Dans le doute, j'ai ajouté une méthode :

addOngletCalque (titre, id_calque)

Elle permet de mettre en onglet un calque préexistant sur la page. Ainsi si javascript est désactivé, les calques préexistants se succèdent naturellement, les un derrières les autres. Si javascript est activé, on les retrouve sous forme d'onglet.
Ce qui n'empêche pas d'utiliser en même temps les autres méthodes (Texte, HTML,URL, AJAX), qui eux requièrent un javascript activé pour fonctionner.
Mamoune2005 Messages postés 9 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 3 novembre 2008
9 juil. 2007 à 18:03
Dommage que sans javascript, on ait vraiment rien de visible.
Un javascript n'est bon que s'il apporte quelque chose, ici il ajoute quelque chose, c'est trop.

Sinon c'est beau.
cs_meh Messages postés 66 Date d'inscription dimanche 18 août 2002 Statut Membre Dernière intervention 9 juillet 2007
9 juil. 2007 à 17:04
Super ! J'attends la prochaine mise à jour pour le xhtml plein pot ;-)
moaleboss Messages postés 19 Date d'inscription lundi 20 janvier 2003 Statut Membre Dernière intervention 24 juillet 2007
9 juil. 2007 à 14:01
Pour info, ya pas grand chose à modifier pour etre Full XHTML ^^
Juste un petit coup de nettoyage du coté du javascript de la page HTML, et le tour est joué ;-)
cs_daynos Messages postés 9 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 18 mai 2008
9 juil. 2007 à 09:56
Merci ;)
A dire vrai, je n'ai même pas pensé à vérifier ce point. J'y penserai lors d'une future mise à jour :)
moaleboss Messages postés 19 Date d'inscription lundi 20 janvier 2003 Statut Membre Dernière intervention 24 juillet 2007
9 juil. 2007 à 09:05
Code propre, et simple.
Exemple clair aussi.
Dommage que ton code ne soit pas Full XHTML valid ^^

C'est du bon boulot ;-)
Rejoignez-nous