document.write(birthday)
Transcription
document.write(birthday)
JAVASCRIPT LE DRUILLENNEC IUT SRC 2014 - 2015 DOM = Document Object Model API (Application Programming Interface) pour la manipulation de HTML / XML Définit la structure logique des documents Définit la façon d’y accéder, de la manipuler Créer des documents Parcourir leur structure Ajouter, effacer, modifier des éléments Ajouter, effacer, modifier leur contenu Voici le code source d’une page simple : <html> <head> <title>Un titre</title> </head> <body> <p> Un essai <em>de texte</em>.</p> </body> </html> Et sont schéma : Les objets du navigateur : Accéder aux éléments L'objet document possède trois méthodes principales : - getElementById(); Cette méthode permet d'accéder à un élément en connaissant son Id qui est simplement l'attribut id de l'élément. Exemple : getElementById() Modifier puis lire un champs a partir de son id : <input type="text" id="champ_input"><br> <input type="button" onclick="f()" value="modifier le champ"> <script type="text/javascript" > function f() { var obj = document.getElementById("champ_input"); alert('le champ a pour valeur : "'+obj.value+"'"), obj.value="autre valeur"; alert('maintenant il contient : "'+obj.value); } </script> Accéder aux éléments L'objet document possède trois méthodes principales : - getElementsByTagName(); Cette méthode permet de récupérer, sous la forme d'un tableau, tous les éléments de la même famille. Exemple : getElementsByTagName() <html><head> <script type="text/javascript"> window.onload = function() { for (i=0;i<document.getElementsByTagName("img").length; i++) { image=document.getElementsByTagName("img")[i]; alert(image.src); } } </script> </head> <body> <img src="images/pix0.jpg"/><br> <img src="images/pix1.jpg"/><br> <img src="images/pix2.jpg"/> </body></html> Accéder aux éléments L'objet document possède trois méthodes principales : - getElementsByName() ; Cette méthode permet de récupérer, sous la forme d'un tableau, tous les éléments pourtant le même nom (attribut name). Exemple : getElementsByName() <html><head> <script type="text/javascript"> function valid() { document.getElementsByName("fruit")[0].checked = true; document.getElementsByName("fruit")[1].checked = true; document.getElementsByName("fruit")[2].checked = true; } </script> </head><body> <FORM> <INPUT type="checkbox" name="fruit" value="Fraise"> Fraise <BR> <INPUT type="checkbox" name="fruit" value="Banane"> Banane <BR> <INPUT type="checkbox" name="fruit" value="Pomme"> Pomme <BR> <INPUT type="button" name="validation" value="Checked" onclick="valid()"> </FORM> </body></html> Comment agir sur une page ? - document.write() : écrire directement dans le document. C’est peu utilisé car cela remplace souvent tout le contenu de la page par le nouveau contenu. Exemple : var compteur=1; do { document.write(„Compteur = +compteur + '<BR>'); compteur += 1; }while(compteur <=5) Comment agir sur une page ? - innerHTML : la méthode la plus couramment utilisé sera de modifier le contenu HTML d’une balise quelconque. Exemple innerHTML : <span id="test" >innerHTML non supporté !</span> <script type="text/javascript"> elt = document.getElementById("test"); elt.innerHTML = "innerHTML supporté !“; </script> Les Objets Javascript : – Les objets de JavaScript, sont soit des entités pré définies du langage, soit créés par le programmeur. – Les objets javascript peuvent réagir à des "Evénements". – Tous les navigateurs ne supportent pas les mêmes objets Objet window: propriétés Propriété Description closed fenêtre fermée? defaultStatus message par défaut(barre état length nb de cadres name nom opener nom fenêtre ouvrante parent si cadre self/top fenêtre courante status contenu barre d'état Objet window: méthodes(1) Méthode Description alert(chaine) back() Affiche boite alerte URL précédent historique blur() close() confirm(chaine) focus() forward() home() moveBy(hor,ver) moveTo(x,y) open(args) Fenêtre plus courante Ferme fenêtre Affiche boîte confirmation Fenêtre courante URL suivant historique URL page accueil Déplacement relatif Déplacement absolu Ouvre fenêtre Objet window: méthodes(2) Méthode Description print() Imprime prompt(chaine,[val/defaut]) Affiche boîte entrée resizeBy(hor,ver) resizeTo(Wid,Hei) scrollBy(hor,ver) scrollTo(x,y) setInterval(expr,msec) clearInterval(IDinterv) Redimensionne Redimensionne Défilement visualisation Défilement visualisation Évalue expr après msec Supprime délais setTimeOut(expr,msec) Évalue expr après msec clearTimeOut(Idchrono) Efface fonction chrono Méthode : open window.open("URL","nom_de_la_fenetre","options_de_la_fenetre"); directories = yes/no Affiche ou non les boutons de navigation location = yes/no Affiche ou non la barre d'adresse menubar = yes/no Affiche ou non la barre de menu (fichier, édition, …) resizable = yes/no Définit si la taille de la fenêtre est modifiable ou non scrollbars = yes/no Affiche ou non les ascenseurs (barres de défilement) left top (N) Coordonnées en x et y de la fenêtre status = yes/no toolbar = yes/no Affiche ou non la barre d'état Affiche ou non la barre d'outils width = largeur Définit la largeur(en pixels) height = hauteur Définit la hauteur (en pixels) Exemple fenêtre : <script type="text/javascript"> function affichage () { fen=open("", "", "height=200,width=300,status=no,toolbar=no"); var message=" <br> <h1>Bonjour à vous !!</h1>"; fen.document.write(message); } function fermer(fenetre) { fenetre.close(); } function deplacer (fenetre) { fenetre.moveBy(50,0); fenetre.focus(); } Objet document: propriétés Propriété Description alinkColor Couleur lien actif bgColor Couleur de fond cookie Cookie domain Nom de domaine du serveur fgColor Couleur premier plan lastModified Date dernière modification linkColor Couleur liens referrer URL appelante title Contenu <TITLE> URL URL document vlinkColor Couleur liens visités Objet document : méthodes Méthode Description close() Ferme le document eval(chaine) Evalue chaine résultat open() Ouvre nouveau document write(expr1[,expr2, …]) Écrit expr HTML writeln(expr1[,expr2, …]) Écrit expr HTML + nl Les événements (1) – Javascript est dépendant des événements qui se produisent lors d'actions diverses sur les objets d'un document HTML. • • • • • onLoad; onClick onMouseover onMouseout ... – Il est possible de baser l’exécution de fonctions sur des événements Les événements (2) Evénement onLoad • Se produit lorsque une page web est chargée dans la fenêtre du navigateur • Toute la page (y compris les images qu’elle contient si leur chargement est prévu) doit avoir été chargée pour qu’il ait lieu <HTML> <BODY onLoad="alert('page chargée');"> Exemple de l'événement onLoad </BODY> </HTML> Les événements (3) Evénement onClick • Se produit lorsque l’utilisateur clique sur un élément spécifique dans une page, comme un lien hypertexte, une image, un bouton, du texte, etc. • Ces éléments sont capables de répondre séparément à cet événement <HTML> <BODY> <INPUT TYPE="Button" Value="cliquer ici” onClick="alert('Clic')"> </BODY> </HTML> Les événements (4) Événement onMouseover • Analogue à onClick sauf qu’il suffit que l’utilisateur place le pointeur de sa souris sur l’un des éléments précités (lien hypertexte, image, bouton, texte, etc.) pour qu’il ait lieu Événement onMouseout • A l’inverse de onMouseover, cet événement se produit lorsque le pointeur de la souris quitte la zone de sélection d’un élément. <HTML><BODY> <IMG SRC="image.gif" onMouseOver="src='image2.gif';" onMouseOut="src='image.gif';"> </BODY></HTML> Objet : link Créé quand balise <A avec attribut HREF Collection tableau links Comprend les zones area Evénements: – onClick qd clic lien – onMouseOver qd pointeur sur lien – onMouseOut qd pointeur quitte lien Objet : image Créé quand balise <IMG Collection tableau images Evénements Evénement Déclenchement onAbort Qd IT chargement image onError Qd erreur chargement onLoad Qd chargement achevé Objet image: propriétés Propriété border complete height hspace Description Val attribut BORDER Image chargée entièrement ? Val attribut HEIGHT Val attribut HSPACE lowsrc Val attribut LOWSRC name src vspace width Val attribut NAME Val attribut SRC Val attribut VSPACE Val attribut WIDTH Exemple image : <head> <script type="text/javascript"> function imageon() { document.getElementById("envoi").src='images/image 1.jpg'; } function imageout() { document.getElementById("envoi").src='images/image 2.jpg'; } </script> </head> <body> <IMG SRC="images/image 0.jpg" height="200" width="300" id="envoi" onMouseOver="imageon();" onMouseOut="imageout();"> </body> L'objet : String (1) – Propriété : • length : retourne la longueur de la chaîne de caractères; – Méthodes : • anchor( ) : formate la chaîne avec la balise <A> nommée; • b( ) : formate la chaîne avec la balise <B>; • big( ) : formate la chaîne avec la balise <BIG>; • charAt( ) : renvoie le caractère se trouvant à une certaine position; • charCodeAt( ) : renvoie le code du caractère se trouvant à une certaine position; • concat( ) : permet de concaténer 2 chaînes de caractères; • fromCharCode( ) : renvoie le caractère associé au code; • indexOf( ) : permet de trouver l'indice d'occurrence d'un caractère dans une chaîne; String : Exemples var s = "Bon anniversaire Benjamin" ; document.write(s.charAt(2)) ; n document.write(s.charCodeAt(2)) ; 110 document.write(s.concat(" du groupe C12")) ; Bon anniversaire Benjamin du groupe C12 document.write(String.fromCharCode(49, 50)) ; 12 document.write(s.indexOf("Benjamin")) ; 17 document.write(s.lastIndexOf("a")) ; 21 document.write(s.match(/Benjamin$/)) ; Benjamin (null si non trouvé) L'objet : String (2) • italics( ) : formate la chaîne avec la balise <I>; • lastIndexOf( ) : permet de trouver le dernier indice d'occurrence d'un caractère; • link( ) : formate la chaîne avec la balise <A> pour permettre de faire un lien; • slice( ) : retourne une portion de la chaîne; • substr( ) : retourne une portion de la chaîne; • substring( ) : retourne une portion de la chaîne; • toLowerCase( ) : permet de passer toute la chaîne en minuscule; • toUpperCase( ) : permet de passer toute la chaîne en majuscules; String : Exemples var s = "Bon anniversaire Benjamin" ; document.write(s.replace(/i/g, 'I')) ; Bon annIversaIre BenjamIn document.write(s.search(/n{2}/i)) ; 5 document.write(s.slice(17)) ; Benjamin document.write(s.split(" ")) ; Bon,anniversaire,Benjamin document.write(s.substr(4, 12)) ; anniversaire document.write(s.substring(4, 16)) ; anniversaire document.write(s.toUpperCase()+s.toLowerCase()) ; BON ANNIVERSAIRE BENJAMINbon anniversaire benjamin L'objet : Array – Propriété : • length : retourne le nombre d'éléments du tableau; – Méthodes : • concat( ) : permet de concaténer 2 tableaux; • join( ) : converti un tableau en chaîne de caractères; • reverse( ) : inverse le classement des éléménts du tableau; • slice( ) : retourne une section du tableau; • sort( ) : permet le classement des éléments du tableau; L'objet : Math (1) – Propriétés : • • • • • • • • E : renvoie la valeur de la constante d'Euler (~2.718); LN2 : renvoie le logarithme népérien de 2 (~0.693); LN10 : renvoie le logarithme népérien de 10 (~2.302); LOG2E : renvoie le logarithme en base 2 de e (~1.442); LOG10E : renvoie le logarithme en base 10 de e (~0.434); PI : renvoie la valeur du nombre pi (~3.14159); SQRT1_2 : renvoie 1 sur racine carrée de 2 (~0.707); SQRT2 : renvoie la racine carrée de 2 (~1.414); L'objet : Math (2) – Méthodes : • abs( ), exp( ), log(), sin( ), cos( ), tan( ), asin( ), acos( ), atan( ), max( ), min( ), sqrt( ) sont les opérations mathématiques habituelles; • atan2( ) : retourne la valeur radian de l'angle entre l'axe des abscisses et un point; • ceil( ) : retourne le plus petit entier supérieur à un nombre; • floor( ) : retourne le plus grand entier inférieur à un nombre; • pow( ) : retourne le résultat d'un nombre mis à une certaine puissance; • random( ) : retourne un nombre aléatoire entre 0 et 1; • round( ) : arrondi un nombre à l'entier le plus proche. Objet Math : Exemples document.write(115.04+15) ; 130.04 document.write(Math.PI) ; 3.141592653589793 document.write(Math.abs(-12.34)) ; 12.34 document.write(Math.floor(12.54)) ; 12 document.write(Math.round(12.54)) ; 13 document.write(Math.ceil(12.54)) ; 13 document.write(Math.random()) ; 0.394555831655689 Dates : Propriétés & Méthodes Méthodes – – – – – – – – getDay(), attention de 0 (dimanche) à 6 (samedi)… getDate() / setDate() getMonth() / setMonth(), attention de 0 à 11… getHours()/ setHours() getMinutes() / setMinutes() getTime() / setTime() getYear() / setYear() / getFullYear() / setFullYear() … Dates : Exemples var today = new Date() document.write(today) ; Tue Nov 02 2012 00:11:36 GMT+0100 var birthday = new Date("December 17, 1995 03:24:00") document.write(birthday) ; Sun Dec 17 1995 03:24:00 GMT+0100 birthday = new Date(95,11,17) document.write(birthday) ; Sun Dec 17 1995 00:00:00 GMT+0100 birthday = new Date(95,11,17,3,24,0) document.write(birthday.getDay()) ; 17 Dates : Exemples document.write(birthday.getMonth()) ; 11 birthday.setMonth(10) ; document.write(birthday) ; Sat Nov 25 1995 03:24:00 GMT+0100 document.write(birthday.getYear()) ; 95 birthday.setYear(96) ; document.write(birthday) ; Mon Nov 25 1996 03:24:00 GMT+0100 document.write(birthday.getFullYear()) ; 1996 document.write(Date.parse("Aug 9, 1995")) ; 807919200000 Minuteries setInterval() : exécution de code JS à intervalles réguliers clearInterval() : arrêt de la minuterie setTimeout() : exécution de code JS au bout d'un délai clearTimeout() : annule setTimeout Exemple : minuterie <html><head> <title>Modele</title> <script type="text/javascript"> var minuterie; function bonjour() {alert("Bonjour a vous !!");} function STOUT() {setTimeout("bonjour();", 1000);} function STINT() {minuterie = setInterval("bonjour();", 4000);} function CLINT() { clearInterval(minuterie);} </script></head> <body onload="bonjour()"> <FORM NAME="f"> <INPUT TYPE="button" VALUE="setTimeout" onClick="STOUT();"> <INPUT TYPE="button" VALUE="setInterval" onClick="STINT();"> <INPUT TYPE="button" VALUE="clearInterval" onClick="CLINT();"> </FORM></body></html> Images : Propriétés & Méthodes Propriétés – complete – width – height – name – src –… Méthodes – constructeur • Image() • Image(largeur, hauteur) Images: Exemples <script type="text/javascript"> // Une image rouge = new Image(100, 100) ; rouge.src = 'rouge.gif' ; // Préchargement // Une autre image vert = new Image(100, 100) ; vert.src = 'vert.gif' ; // Préchargement // Modification de la 13e image de la page Web document.images[12].src = rouge.src ; // Modification de la 15e image de la page Web document.images[14].src = rouge.src ; </script>