Vous pouvez me contacter via Facebook pour questions & suggestions :
Page Facebook relative à mon site
Au travers de ce chapitre je vais vous présenter différents scripts montrant toutes les possibilités programmatiques de JavaScript.
A saisir dans la console :
Il faut utiliser la méthode floor() afin que l'entier généré soit compris entre 0 et 9.
En effet floor() arrondit à l'entier inférieur.
L'entier généré de façon aléatoire doit être compris entre 1 et 6.
Il faut utiliser la méthode ceil() afin que l'entier généré soit compris entre 1 et 6.
En effet ceil() arrondit à l'entier supérieur.
Comme l'effacement porte sur l'élément HTML courant (celui qui porte l'évènement) on peut employer le raccourci "this". Sinon il faudrait écrire pour la première image : document.querySelectorAll(img)[0]
Pour effacer les différentes images j'ai utilisé 4 techniques différentes.
La différence majeure entre display:none et visibility:hidden est que le premier supprime entièrement un élément de la mise en page
tandis que le second cache l'élément mais réserve la place qu'il occupait.
width=0 a le même effet que display:none tandis que opacity =0 a le même impact que visibility : hidden.
Supprimez les images de la première rangée ; le trait HR remonte.
Effacer les images de la deuxième rangée ; le trait HR ne bouge pas.
Le constructeur new Date() sans argument retourne l'instant présent.
J'ai utilisé un tableau pour associer à 0 la chaine "dimanche", à 1 la chaine "lundi", etc.
La fonction "horloge()" est appelée toutes les 1000 millisecondes (chaque seconde) via à la méthode setInterval(). La fonction "horloge" affiche l'instant présent dans une boite DIV.
Le rendu de ce code :
Pour arrêter le minuteur créé par la méthode setInterval() il suffit de programmer l'instruction
clearInterval(fin).
En effet la méthode setInterval() retourne un entier (récupéré ici dans la variable "fin").
Plusieurs images apparaissent sous forme de miniatures. Mais si clic sur une miniature, celle-ci est alors affichée en grand dans une boite avec la légende appropriée.
Notez l'emploi dans la feuille de style de la propriété background-size : contain. Ainsi l'image agrandie dans le DIV n'est pas rognée mais la zone d'affichage de l'image agrandie est plus ou moins haute pour éviter toute déformation.
Dans le tuto CSS 3 (dans le même site) il y a tout un chapitre sur les propriétés préfixées "background-" Raccourci 'background' : une propriété très enrichie
Pour chaque image appel de la fonction "afficher" argumentée avec "this" ; raccourci qui désigne l'élément HTML courant donc l'image objet du clic.
On crée deux variables boite et legende qui référencent respectivement la balise DIV identifiée "grand" et la balise H4 identifié "titre".
Dans la fonction afficher la variable image représente l'image courante.
Avec la méthode getAttribute on récupère les valeurs des attributs src et alt de l'image
courante.
Dans la variable source on construit la nouvelle valeur de la propriété de style backgroundImage.
Dans la variable texte on construit la nouvelle valeur de la propriété textContent.
Le rendu de ce code :
Si vous voulez un diaporama avec 6 images, il suffit d'ajouter un élément IMG dans le code HTML. Mais il n'y aura rien à modifier dans le script !
Ces trois barres horizontales sont omniprésentes : jeux vidéo, applications, sites internet, logiciel, etc.
Lorsque vous les voyez, vous savez immédiatement qu’il s’agit d’un bouton vous donnant accès à un menu.
Sur un petit écran les pixels sont précieux. le menu "hamburger" est une bonne solution pour ce type de terminal.
Donc par défaut un menu 'hamburger' est masqué.
Si clic sur l'icône 'hamburger' alors le menu s'affiche.
Nouveau clic sur l'image 'hamburger' et alors le menu disparait.
J'ai récupéré l'image 'hamburger_icone.png' sur la 'toile'. Il suffit de taper 'hamburger' dans le moteur de recherche puis de cliquer sur l'onglet 'images'. J'ai ensuite redimensionné l'image avec PAINT car elle était trop lourde.
Notez dans la balise IMG l'attribut "onclick" qui permet d'appeler une fonction JS.
L'icône est stylé via la classe 'hamburger' : voir feuille de style ci-dessous.
Il consiste en une fonction nommée "mafonction".
Explications
Si la boite NAV est affichée alors la fonction masque NAV.
Si la boite NAV est masquée alors la fonction affiche NAV.
La boite NAV a une valeur pour la propriété z-index inférieure à celle affectée à l'icône ; ainsi ce dernier est toujours en premier plan.
Par défaut la boite NAV est masquée.
Les liens contenus dans NAV sont de type block, couleur de la légende : skyblue, pas de soulignement, etc.
L'cône est positionné en haut à droite de l'écran.
Sur survol d'un lien les couleurs de fonds et de texte sont inversées.
Le rendu de ce code :
Vous cliquerez sur le "hamburger" pour afficher le menu.
Vous cliquerez de nouveau sur cet icône pour le masquer.
Thématique : dans une page une partie de l'article rédactionnel est masqué par défaut, seul le premier paragraphe ("l'accroche") apparait.
Mais en cliquant sur un lien la partie masquée s'affiche !
Je présente successivement le code HTML, CSS et JavaScript pour atteindre cet objectif.
La boite DIV est identifiée "suite".
Si clic sur la balise A provoque l'exécution de la fonction JS "afficher_suite".
div#suite{display : none; }
Par défaut la boite identifiée "suite" est masquée.
La fonction démasque l'élément identifié "suite".
Le rendu de ce code :
J'ai donc déplié un texte sans utiliser une méthode "slide" de jQuery.
Désormais sur beaucoup de sites et dans le cadre du formulaire de connexion, les caractères que vous saisissez dans un champ "mot de passe" peuvent être affichés. Il suffit qu'un script transforme le type de ce champ : de type "password" il passe à type "text".
Remarque : le code du formulaire est incomplet : pas de bouton de connexion.
Une image représentant un oeil (facile à trouver sur la toile) est affichée à côté du champ de type "password".
Une légende est associée à l'image.
Si clic sur cette image : appel d'une fonction.
Il est d'un simplicité déroutante:
Si le champ "motdepasse" est de type "password" alors il devient de type "text". Sinon c'est l'inverse.
Le rendu de ce code :
C'est donc un exemple de modification du DOM et plus précisement des attributs de balise.
Quand vous télécharger ce framework vous récupérez un fichier qui pèse 0 octet ...
Donc Vanilla.js c'est une plaisanterie ; c'est un faux framework JS.
Cette blague est orchestrée par les tenants d'un emploi systématique du JS natif ; sans utilisation d'un framework JS.
Les auteurs de cette blague reprochent aux frameworks JS, tel jQuery, un ralentissement certain dans l'interprétation du code.
Il font à juste titre remarquer que le JS natif a fortement progressé et surtout s'il est combiné avec CSS version 3.
Un “fondu” est une disparition OU apparition progressive d’un élément. C’est donc un effet de transition d’un état à un autre.
Jquery propose des méthodes pour faire apparaitre / disparaitre progressivement une collection d'éléments : fadeIn,() fadeOut(), fadeToggle().
Mais si vous combinez des nouveautés proposées par la dernière version de JavaScript et celles proposées par CSS version 3, vous pouvez éviter l'emploi de jQuery.