Événements

Coordonnées de la souris dans la page.

L'événement mousemove est déclenché au mouvement de la souris.

L'exemple ci-dessous montre comment récupérer et afficher les coordonnées de la souris dans la page.

Lisez et comprenez ce code d'exemple puis modifiez le second code suivant les consignes données plus bas.

Coordonnées de la souris dans la page.

Déplacez la souris dans le cadre de rendu

Le code à modifier.

Votre mission : faire en sorte que le carré rouge du code ci-dessous suive la souris.

Une aide .

En définissant la variable let carre = document.getElementById("rouge");, on pourra utiliser carre.style.left = ... et carre.style.top = ... dans le script pour modifier les propriétés css left et top donnant la position du carré rouge (par rapport au coin supérieur gauche de la page).

Une solution

Un code possible :

Le bouton fuyant.

Dans cet exercice, vous utiliserez l'événement mousemove et l'événement click.

Vous devez créer un bouton sur lequel l'utilisateur doit cliquer. Mais lorsqu'on approche la souris du bouton, celui-ci fuit à un autre endroit dans l'écran.

Toutefois, au bout de quelques tentatives le bouton se laisse approcher et un click sur le bouton change alors le texte inscrit sur ce bouton.

Une aide.

Le code ci-dessous illustre la différence entre element.offsetLeft et element.style.left.

Une solution

Un code possible :

Ponctuation.

Dans cet exercice, vous allez utiliser l'événement click qui est déclenché lorsqu'on clique (bouton gauche de la souris) sur un élément html.

Commencez par lire et comprendre l'exemple puis passez à la partie exercice (intitulé « L'héritage »).

Un exemple

Cliquez sur le carré rouge.

L'héritage.

Un homme riche était au plus mal. Il prit un papier et un stylo pour écrire ses dernières volontés :

« Je laisse mes biens à ma soeur non à mon neveu jamais sera payé le compte du tailleur rien aux pauvres »

« Je laisse mes biens à ma soeur. Non à mon neveu. Jamais sera payé le compte du tailleur. Rien aux pauvres. »

« Je laisse mes biens à ma soeur ? Non ! À mon neveu. Jamais sera payé le compte du tailleur. Rien aux pauvres. »

« Je laisse mes biens à ma soeur ? Non ! À mon neveu ? Jamais ! Sera payé le compte du tailleur. Rien aux pauvres. »

« Je laisse mes biens à ma soeur ? Non ! À mon neveu ? Jamais ! Sera payé le compte du tailleur ? Rien. Aux pauvres ! »

Mais le mourant passa l'arme à gauche avant de pouvoir achever la ponctuation de son billet. À qui laissait-il sa fortune ?
Pour savoir comment chacun des protagonistes interprète ce testament, cliquez sur le mot le désignant.

Votre mission est bien sûr d'écrire le code permettant de reproduire l'effet de ces clics.

Une aide.

Vous connaissez document.getElementById(), on trouve également document.getElementsByClassName() (attention au pluriel).

Si l'on dispose de plusieurs éléments dans la page avec un attribut de valeur "coucou" (class = "coucou"), l'instruction var cc = document.getElementsByClassName("coucou"); vous permettra d'accèder à chacun de ces éléments. Le premier est cc[0], le second cc[1], ...etc, jusqu'à cc[cc.length-1].

Une solution

Accent.

Dans cet exercice, vous allez utiliser l'événement mouseover qui est déclenché lorsque la souris survole l'élément html.

L'objectif est de réaliser la modification ci-dessous lorsque la souris survole la phrase.

Hôpital.

Un père indigné, ex-interne de l'hôpital Sainte-Anne, tué pendant une audition.

Un père indigne, ex-interné de l'hôpital Sainte-Anne, tue pendant une audition.

Une solution

Associations.

L'objectif est de créer un petit jeu d'association.

A gauche, on présente trois titres de livres et à gauche trois auteurs. L'utilisateur doit associer les titres à leurs auteurs. Un clic sur un bouton lui permettra de savoir si ses réponses sont justes ou non.

Exemple.

Un exemple ici.

Vous pouvez bien entendu apporter des modifications... A vous de coder.

Une solution

Le code de l'exemple :

Le tri par sélection.

Ci-dessous, un tri par sélection est mis en oeuvre : chaque clic sur le bouton exécute une nouvelle étape du tri.

Votre objectif est :

  1. de comprendre le principe du tri par sélection en observant les diverses étapes obtenues par clic,
  2. d'écrire un code permettant de reproduire cette illustration du tri par sélection.

Illustration du tri par sélection.

Code à compléter.

Le principe

A tout moment, on a en tête une liste bleue (vide au départ) et en queue une liste rouge (vide après la dernière étape).

A tout moment, les éléments bleus sont en ordre croissant et sont à leur place définitive.

Lorsque la liste bleue n'est plus vide, à tout moment tout élément rouge est supérieur ou égal à tout élément bleu.

Les étapes sont les suivantes :

  1. On sélectionne un élément de valeur minimale dans les rouges.
  2. On échange cette valeur minimale avec la valeur en tête des rouges.
  3. Et on passe cette valeur minimale en bleu (elle devient ainsi queue de la liste bleue).
  4. On recommence au point 1 tant que la liste rouge n'est pas vide.

Une solution