Exemples de codes javascript avec leur code source

Le but est de montrer beaucoup de petits exemples utilisant du code javascript et forcément du CSS, avec leur code source.

<div> indique un début de section, avec retour à la ligne. Fin : </div>
<span> indique un début d'un texte, sans retour à la ligne. Fin : </span>

Alphabetical JavaScript Reference. Liste de fonctions et événements javascript, telles que :
JavaScript and HTML DOM Reference.
La liste des événements gérables.


Pour un nombre, il faut mieux utiliser : Math.floor(nombre) que parseInt(nombre) pour en prendre la partie entière.


Javascript à dose homéopathique.

Le fond de ce paragraphe est de couleur cyan.
Cyan est le nom plus précis pour définir la couleur bleu ciel.
Mais la couleur du fond change lorsque la souris passe sur le paragraphe.
Elle change encore une fois, lorsque la souris sort du paragraphe.
Code :
<div style="background-color:rgb(0,255,255); color:rgb(0,0,0)"
     onmouseover="this.style.backgroundColor='rgb(0,130,0)';"
     onmouseout="this.style.backgroundColor='rgb(0,255,255)';">
??) Le fond de ce paragraphe est de couleur cyan.<br>
Cyan est le nom plus précis pour définir la couleur bleu ciel.<br>
Mais la couleur du fond change lorsque la souris passe sur le paragraphe.<br>
Elle change encore une fois, lorsque la souris sort du paragraphe.<br>
</div>

this fait référence au paragraphe lui-même.

Cette fois, le fond change, ainsi que la couleur et la taille des caractères.
Plusieurs insctuctions javascript sont données dans une seule commande.
Lorsqu'il y en aura trop, les fonctions devront etre introduites.
Code :
<div id="idPara01"
   style="background-color:rgb(0,255,255); color:rgb(0,0,0)"
   onmouseover="this.style.backgroundColor='rgb(0,130,0)'; 
                this.style.color='rgb(255,255,255)'; 
                this.style.fontSize='16pt';" 
   onmouseout="this.style.backgroundColor='rgb(255,130,130)'; 
               this.style.color='rgb(0,0,130)';">
??) Cette fois, le fond change, ainsi que la couleur et la taille des caractères.<br>
Plusieurs insctuctions javascript sont données dans une seule commande.<br>
Lorsqu'il y en aura trop, les fonctions devront etre introduites.<br>
</div>


En plus d'avoir plusieurs instructions, on change les attributs du paragraphe précédent en allant sur ce mot .
Cliquez sur le "mot" précédent, pour changer la taille des caractères du paragraphe précédent.
Cliquez ici pour redonner une taille de 12pt au paragraphe précédent .
Code :
??) En plus d'avoir plusieurs instructions, 
on change les attributs du paragraphe précédent en allant sur 
<span style="background-color:rgb(0,255,255);"
      onmouseover="document.getElementById('idPara01').style.backgroundColor='rgb(0,130,0)';
                   document.getElementById('idPara01').style.color='rgb(255,128,255)';"
      onmouseout="document.getElementById('idPara01').style.backgroundColor='rgb(0,255,255)';
                  document.getElementById('idPara01').style.color='rgb(0,80,0)';" 
      onclick="document.getElementById('idPara01').style.fontSize='16pt';" >
 ce mot
</span>.<br>
Cliquez sur le "mot" précédent, pour changer la taille des caractères du paragraphe précédent.<br>
<span style="background-color:rgb(0,255,90);"
      onclick="document.getElementById('idPara01').style.fontSize='12pt';" >
  Cliquez ici pour redonner une taille de 12pt au paragraphe précédent
</span>.<br>


Un petit GAG :
Cliquez sur moi pour voir une surprise.     Cliquez sur moi pour voir une surprise.
Code :
??) Un petit GAG :<br>
<span id='idS01a' 
      style="background-color:rgb(0,255,255); color:rgb(0,0,0); visibility:visible;"
      onmouseover=" this.style.backgroundColor='rgb(255,255,192)';
                    this.style.color='rgb(255,255,192)';
                    document.getElementById('idS01b').style.backgroundColor='rgb(0,255,255)'; 
                    document.getElementById('idS01b').style.color='rgb(0,0,0)'; 
                    "
      onmouseout="  this.style.backgroundColor='rgb(0,255,255)';
                    this.style.color='rgb(0,0,0)';
                    document.getElementById('idS01b').style.backgroundColor='rgb(255,255,192)'; 
                    document.getElementById('idS01b').style.color='rgb(255,255,192)'; 
                    ">
Cliquez sur moi pour voir une surprise.
</span>
&nbsp; &nbsp;
<span id='idS01b'
      style="background-color:rgb(255,255,0); color:rgb(255,255,0);">
Cliquez sur moi pour voir une surprise.
</span><br>


Un petit GAG, autre manière de faire :
Cliquez sur moi pour voir une surprise.    
Code :
??) Un petit GAG, autre manière de faire :<br>
<span id='idS02a' 
      style="background-color:rgb(0,255,255); color:rgb(0,0,0); visibility:visible;"
      onmouseover=" this.style.visibility='hidden';
                    document.getElementById('idS02b').style.visibility='visible'
                    ">
Cliquez sur moi pour voir une surprise.
</span>
&nbsp; &nbsp;
<span id='idS02b'
      style="background-color:rgb(0,255,255); color:rgb(0,0,0); visibility:hidden;"
      onmouseover=" this.style.visibility='hidden';
                    document.getElementById('idS02a').style.visibility='visible'
                    ">
Cliquez sur moi pour voir une surprise.
</span><br>


Apparition de plus de texte lors d'un clique sur un lien.
plus d'info
Code :
??) Apparition de plus de texte lors d'un clique sur un lien.<br>
<span id="idInfo01_more" style="display:inline; font-size:80%;">
  <a href="javascript:void(0)"
     onclick="document.getElementById('idInfo01_less').style.display='inline';  
              document.getElementById('idInfo01_more').style.display='none';">plus d'info</a>
</span> 
<div id="idInfo01_less" style="display:none;">
  <a href="javascript:void(0)"  style="font-size:80%;"
     onclick="document.getElementById('idInfo01_less').style.display='none';
              document.getElementById('idInfo01_more').style.display='inline';">moins d'info</a>
  <br> 
  Ici, on peut <b>afficher plus d'information</b> sans accéder à Internet.<br>
  Une combinaison de javascript et de style permet de faire cet effet.
</div>

Ce n'est pas une bonne idée de cliquer sur un lien pour faire apparaître du texte supplémentaire. Il est meilleur de mettre un bouton, comme dans l'exemple suivant.

Apparition de plus de texte lors d'un clique sur un bouton.
Ici, on peut afficher plus d'information sans accéder à Internet.
Une combinaison de javascript et de style permet de faire cet effet.
De manière très simple, avec juste un petit script.

Code :
??) <button style='font-size:80%; display:inline; padding:0px; margin:0px;' 
        onclick="Info_gestion(event);">+</button>
  Apparition de plus de texte lors d'un clique sur un bouton.

<div style="display:none;"><br>
  Ici, on peut <b>afficher plus d'information</b> sans accéder à Internet.<br>
  Une combinaison de javascript et de style permet de faire cet effet.<br>
  De manière très simple, avec juste un petit script.
</div>

<script type="text/javascript">
function Info_gestion(event) {
//==============================
// Permet d'ouvrir et de fermer de l'information supplémentaire.
// C.f. https://www.w3schools.com/jsref/dom_obj_all.asp

var oBalise = event.target; // La balise courante
var oDivNext = oBalise; // La balise DIV suivante.
var nn = 0; // Sentinel, pour ne pas boucler infiniment.

// Recherche la première balise DIV qui suit le bouton
while ((oDivNext.nodeName != "DIV") && (nn < 100)) {
  nn += 1;
  oDivNext = oDivNext.nextElementSibling; // La balise suivante.
  // console.log(nn, oDivNext.nodeName); //Pour le développement.
  }

if (nn >= 100){
  alert("Anomilaie, pas de balise DIV qui suit le bouton");
  return; //Ne fait rien
  }

if (oBalise.innerHTML =="+") {
  // Balise suivante (div) visible.
  oBalise.innerHTML = "-";
  oDivNext.style.display = "block";
  }
else {
  // Balise suivante (div) cachée.
  oBalise.innerHTML = "+";
  oDivNext.style.display = "none";
  }
} //Info_gestion
</script>


Cet exemple est meilleur que le précédent, car il est plus naturel de cliquer sur un bouton apparaître du texte supplémentaire que de cliquer sur un lien, qui ne mène pas à une nouvelle page Web.

Apparition de plus de texte lors d'un clique sur un bouton. Ancien

Code :
??) Apparition de plus de texte lors d'un clique sur un bouton. Ancien<br>
<button id="idInfo02_more" style='font-size:80%; display:inline;' 
        onclick="document.getElementById('idInfo02_less').style.display='inline';  
                 document.getElementById('idInfo02_more').style.display='none';">
  Plus d'info
</button>

<div id="idInfo02_less" style="display:none;">
  <button style='font-size:80%;' 
          onclick="document.getElementById('idInfo02_less').style.display='none';  
                   document.getElementById('idInfo02_more').style.display='inline';">
    Moins d'info
  </button><br>
  Ici, on peut <b>afficher plus d'information</b> sans accéder à Internet.<br>
  Une combinaison de javascript et de style permet de faire cet effet.
</div>

L' exemple précédent est meilleur. Il ne nécessite pas d'id, les mêmes lignes HTMLs peuvet être répétées autant de fois que l'on désire. Le script doit être écrit une fois pour toute.

Autre manière d'apparition d'un texte, sans rien décaler.

Code :

Des effets similaires ont été obtenus avec uniquement du CSS dans mes exemples de styles CSS


Utilisation de formulaires.

Il est très fréquent d'utiliser des formulaires <form> avec du javascript (et du PHP), pour avoir des champs à remplir et des boutons à presser.

HTML <form> Tag, information du les formulaires.
HTML <button> Tag.
HTML <input> Tag.
Window alert() Method, information sur la "fonction" alert(string).


Code :



Code :



     
Code :

Dans une <form>, il faut préciser le type="button", car les "type" 'reset' et 'submit' existent aussi.
Les fonctions parseInt et parseFloat et ont aussi été utilisées, pour convertir du texte en nombre.
L'exemple dans une page Web

Déplace une image à l'aide de javascript.
                         
 
                         
boule bleue
Code :

L'exemple dans une page Web.

Ouverture d'une fenêtre lors d'un clique sur un bouton

top=100,left=200   ne fonctionnement pas chez moi.





Code :
??) Ouverture d'une fenêtre lors d'un clique sur un bouton<br>
<button onclick="window.open('aprod2000_perso/RollOver/ex_de_popup.html','nom_de_la_fenetre',
        'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=500,height=400,top=100,left=200');">
  Ouverture d'une fenêtre popup
</button><br>
top=100,left=200 &nbsp; ne fonctionnement pas chez moi.<br>
<br>
<button onclick="window.open('exemples.html','_self');">
  Remplace la fenêtre par une autre.
</button><br>
<br>
<button onclick="window.location = 'exemples.html'">
  Autre manière en changeant : window.location.
</button><br>
<br>
<div id="idLocationInfo"></div>
<script>
document.getElementById("idLocationInfo").innerHTML = 
     "URL de la fenêtre = " + window.location + "<br>"
   + "host = " + window.location.host + "<br>"
   + "hostname = " + window.location.hostname + "<br>"
   + "origin = " + window.location.origin + "<br>"
   + "pathname = " + window.location.pathname + "<br>"
   + "protocol = " + window.location.protocol + "<br>";
</script>

Plus d'information sur Window.open()
Plus d'information sur Window.location

Gestion de sons
Avec contrôles :




Sons ".wav" ; ".ogg" et ".mp3"
  Cliquez sur moi. TaDa     ;     Cliquez sur moi. Cash     ;     Passez sur moi. Clack  
Il faut avoir cliqué une fois dans la fenêtre pour que cela fonctionne.

Code :


Le AUTOplay ne fonctionne pas, car il doit être autorisé par l'utilisateur de la page Web !

Références :
- Le site du Zero
- La w3school.com
- HTML <script> Tag
- HTML <script> type Attribute
- HTML5 Audio
- HTML <audio> Tag
- HTML <source> Tag
- HTML DOM Audio Object
- HTML Audio/Video DOM play() Method
- HTML DOM querySelector() Method

Génération de code HTML en javascript


Code :


Une version plus sophistiquée, avec du CSS
Text non obligatoire


Regarder dans le 'style' du DIV
pour modifier le style.

ballon3 ballon3 ballon3 ballon3 ballon3


Voir dans les styles, toutes les modifications de styles possibles.
Il y en a plus de 100.

La règle pour accéder à un attribut de style en javascript est qu'un trait d'union "-" dans le style est éliminé et le caractère qui suit est remplacé par une majuscule.
Exemple : style="background-image:url(...)" devient :
document.getElementById("idTest").style.backgroundImag = "url('...')"

Code :


Un chronomètre, utilisant un Timer (minuteur)

Un chronomètre

Chronomètre :  
0 [s]


   
Code :


Test si un nombre est divisible par 2, 3, 5, 7 ou 11

Test si un nombre est divisible par 2, 3, 5, 7 ou 11

Un nombre :  
Le nombre est divisible par les nombres suivants :
Code :


Une image bouge aléatoirement
ballon_3
Fait bouger l'image :
Code :


Formattage de nombre pour un joli affichage
Référence sur toFixed et toPrecision.
toFixed détermine le nombre de chiffres après la virgule.
toPrecision détermine le nombre total de chiffre à afficher.

Le nombre à formatter :  

Code :


Création d'un quadrillage avec des lignes vectorielles, dans un SVG (Scalable Vector Graphic).
Références sur le SVG :
SVG Tutorial, du w3schools.com, en anglais.
Introduction au SVG, du site "Openclassrooms.com".
Une référence sur le SVG, en anglais.


Code :


Création d'un quadrillage, sans utiliser de canvas (dessin) ANCIEN.

Code :


Création de lignes vectorielles, dans un SVG (Scalable Vector Graphic).
Références sur le SVG :
SVG Tutorial, du w3schools.com, en anglais.
Introduction au SVG, du site "Openclassrooms.com".
Une référence sur le SVG, en anglais.


Code :


Création de lignes dans un canvas.
Références sur les canvas :
Exemples.
L'élément Canvas, du site "Openclassrooms.com".
Une référence sur les canvas, en anglais.

Votre navigateur ne supporte pas le tag <canvas>.
Code :


Déplace une image à la souris. Cliquez - glisser l'image du ballon.

ballon_3 boule rouge
Code :


Comment sortir d'une boucle dans une boucle, avec : break label;
Code :


Écriture de texte dans un canvas et mesure de dimensions.
Références sur les canvas :
Une référence sur les canvas, en anglais.
Canvas textAlign Property, en anglais.
Canvas textBaseline Property, en anglais.
CanvasRenderingContext2D: textBaseline property, en anglais.
TextMetrics, pour mesurer les dimensions d'un texte.
Point (unité). Un point = 0.3514 mm env. 1/72 inch.

Plusieurs exemples d'utilisation de canvas et de programmation objet dans mes pages Web :
Exemples de tracés de diverses figures.
Coordonnées des pixels dans un Canvas. (X + 0.5, Y + 0.5) == centre du pixel (X, Y).
Mon cours d'OC 2014, avec beaucoup d'exemples.
Un jeu de cours dans un Canvas.
Évolution dune onde. Le canvas adapte ses dimensions à la fenêtre.
Math-spline et B-spline.
Animation de la Terre.
Un calculateur de barèmes.
Votre navigateur ne supporte pas le tag <canvas>.
Code :


Combinaisons d'images dans un canvas, avec xor ou ce qu'on veut
Références :
context.globalCompositeOperation = "value", choix de manière de dessiner sur une image.
Canvas globalCompositeOperation Property, illustrations.

Deux exemples d'utilisations .
Un premier exemple, qui simule la commande tante : ctx.globalCompositeOperation = "darker";.
Un deuxième exemple, plus souple qui permet n'importe quel combinaison et traitement d'image.

"Darker", le plus foncé   "XOR".
  Valeur X d'arrêt =   181 est bien.
Votre navigateur ne supporte pas le tag <canvas>.
Code :


Dimensions et position d'un "div"
Références :
HTML DOM Element getBoundingClientRect().
Window getComputedStyle().
.
Dans ce div, on indiquera diverses manières de connaître sa position et ses dimensions.

Remarquez qu'en pressant sur le bouton ci-dessus, la hauteur affichée du "div" change.

Code :


À venir...
Code :



Plan du Site : Home   arrow   bgweb.html   arrow   exemples.html   arrow   a3js1090_javascript_exemples.html


Page mise à jour le 28 janvier 2024 par Bernard Gisin
Hébergement par : www.infomaniak.ch