AideJavascript

From GeoGebraWiki

Jump to: navigation, search

La page officielle de documentation pour JavaScript avec GeoGebra est à l'URL suivant : geogebra_applet_javascript.html.


Retour à ...... Aide ........ ... Menus ... ... Exporter ... ... Feuille de travail dynamique ...


Contents

Des généralités

Appeler un angle

Il faut utiliser le codage Unicode

un angle appelé "α" sera appelé par 03b1

<input type="button" value="& alpha; non affiché" onclick="document.applets[0].setVisible ('\u03b1', false);">


Image:htm.gifun exemple documenté

Toutes les actions sont activées par pression sur un bouton

<input type="button" ...

l'ordre d'éxécution étant dans

onclick"..."

La commande doit agir sur l'applet GeoGebra référencé par :

applets[0]

pour le premier applet, applets[1] pour le deuxième ...

Une autre méthode est de nommer l'applet :

<applet name = "ggbApplet" code="geogebra.GeoGebraApplet" ...

et l'on indiquera l'applet par :

document.ggbApplet


Méthodes disponibles

Méthodes pour modifier un objet

deleteObject('Nom de l'objet') Efface l'objet référencé.
setColor('Nom de l'objet', nombre, nombre, nombre) Colorie l'objet référencé avec la couleur définie en RougeVertBleu par 3 nombres de 0 à 255.
setVisible('Nom de l'objet', true ou false) Montre (true) ou Cache (false) l'objet référencé dans la feuille de travail
evalCommand(commande) Evalue la chaîne donnée comme si elle étaait entrée dans le champ de saisie ;

Note: utiliser le paramètre language pour vous assurer de la reconaissance de votre commande locale


Montrer ou non un objet

<input type="button" value="Montrer T1" onClick="document.applets[0].setVisible('T1', true);">


Modifier la couleur d'un objet

<input type="button" value="A en rouge"  onClick="document.applets[0].setColor('A',255,0,0);">

Commentaires :
Ici le code de couleur, est donné par un triplet (Rouge, Vert ,Bleu) de nombres entre 0 et 255. (0,0,0) pour le noir et (255,255,255)pour le blanc.

Effacer un objet

<input type="button" value="Supprimer A" onClick="document.applets[0].deleteObject('A');">

efface l'objet sélectionné et tous ses objets dépendants.


Exécuter une construction

<input type="button" value="Construire" onClick="myLittelConstruction();">

Ici il n'y a pas une commande directe, mais appel à une fonction :

<input type="button" value="Construire" onClick="myLittelConstruction();">

qui est définie (par un "script") dans la tête du code source html, entre les balises <head> et <\head>, :


 <script type="text/javascript">
function myLittelConstruction()
{
var applet = document.ggbApplet; 
applet.setRepaintingActive(false);
applet.evalCommand("M = (1,1)");
applet.evalCommand("N = (3,2)"); 
applet.evalCommand("d = Droite[M, N]");
applet.setRepaintingActive(true);
}
</script>

Commentaires: Les trois premières lignes déclarent la fonction ; La quatrième est une astuce pour être quitte de répéter chaque fois "document.ggbApplet", on nomme une variable plus courte ; La cinquième ets une bascule pour ne faire redessiner la figure que lorsque toutes les commandes auront été évaluées, en huitième ;

evalCommand, comme son nom l'indique va évaluer la commande, comme si on l'avait validée dans le champ de saisie, et l'éxécuter, si elle est correcte.

ce qui pose des problèmes, lorsque l'on utilise des documents réalisés par des utilisateurs non francophones (et réciproquemment, lorsque les collègues allemands ont voulu visualiser mon exemple, ils n'ont pu éxécuter la construction, GeoGebra en français lit bien "Droite", si un allemand l'utilise GeoGebra devrait lire "Gerade". Pour éviter cet écueil, il est bon de rajouter alors le paramètre linguistique dans l'appel de l'applet :

<param name="language" value="fr">


le "script" peut être dans un fichier auxiliaire, créé avec un éditeur de textes, j'enregistre sous le nom fichier.js le texte :

function myLittelConstruction()
{
var applet = document.ggbApplet; 
applet.setRepaintingActive(false);
applet.evalCommand("M = (1,1)");
applet.evalCommand("N = (3,2)"); 
applet.evalCommand("d = Droite[M, N]");
applet.setRepaintingActive(true);
}

et dans la tête de mon html, je l'appelle par :

<script src="fichier.js"></script>

Méthodes pour obtenir des informations

Méthodes pour obtenir des informations

Méthodes pour modifier toute la construction ou l'interface utilisateur

Méthodes pour modifier toute la construction ou l'interface utilisateur


Des exemples expliqués

Exercice PENTE d'une droite

le programme génère une droite aléatoire, l'élève doit en donner le coefficient directeur

Afficher, cacher les axes

AideJavascriptXml

Faire communiquer 2 applets

Dessiner une figure dans une appliquette et tracer la courbe associée dans une autre

ComDessinCourbe

Lier un graphique à une figure avec trace, marquage manuel, lieu, et tableau de valeurs

Les écouteurs

illustrés avec des points pas tout à fait libre

Autres exemples

Voir des exemples utilisant Javascript


Retour à ...... Aide ........ ... Menus ... ... Exporter ... ... Feuille de travail dynamique ...

Personal tools