13. El JavaScript
1. Descripció
general
El JavaScript és un llenguatge de programació. S'executa
en el navegador i permet interactuar amb els elements de la pàgina
de forma que pot convertir una pàgina web en una pàgina
que interactua amb l'usuari.
Per entendre globalment el que volem dir mireu el formulari següent
i calculeu la longitud d'una circumferència de radi 2 i la superfície
d'un cercle de radi 4.
Aquí la interactivitat consisteix en que l'usuari pot introduir
unes dades i aconseguir que l'ordinador li doni uns resultats.
Examinem els actors, els fets i les conseqüències d'aquest
programa:
- Els actors són els següents
- L'ordinador i el sistema operatiu.
- El navegador i els seus interpretes de diferents
llenguatges.
- Un document HTML amb diferents objectes com
els quadres de texts i els botons.
- Un programa JavaScript que mira les dades
i calcula els resultats.
- L'usuari del sistema.
- Els fets
L'usuari mou el ratolí i fa clic en un objecte botó.
- Les conseqüències
El sistema operatiu agafa el clic de l'usuari i el transmet a través
del navegador a l'objecte botó i el programa JavaScript, associat
al clic del ratolí, calcula i fa visibles els resultats.
Hem dit que l'usuari a fet clic i que aquest clic ha arribat fins al
seu destinatari que és un botó. Diem que s'ha produït
un event i que un programa ha executat unes accions en resposta
a aquest event.
De fet el JavaScript té un conjunt d'objectes que poden respondre
a un conjunt d'events que es produeixen.
2.- Inserció de
comportaments amb el Dreamweaver
Tot el que el Dreamweaver anomena comportaments es pot torbar al activant l'opció
de Ventana/Comportamientos.
Al quadre veieu que el paràgraf de sota té associat una
acció anomenada Mensaje emergente acció
que s'executarà quan es faci clic a sobre del paràgraf.
Proveu el resultat:
Fes
clic a sobre d'aquest text
2.1-
Els events més comuns són els següents
- Events del ratolí
- onClick: es produeix quan es prem un
botó qualsevol del ratolí.
- onDoubleClick: es fa click dues vegades
sobre un objecte.
- onMouseOver: es mou el ratolí
a sobre d'un objecte.
- onMouseOut: el ratolí surt d'un
objecte.
- Tots els events Drag són d'arrosegar i desar anar el ratolí.
- Events de la pàgina
- onLoad: es produeix quan la pàgina
es carrega en el navegador.
- onUnload: es produeix quan la pàgina
es descarrega del navegdor.
- Events de teclat
- onKeyPress: es produeix quan es prem
una tecla del teclat.
- onKeyUp: es produeix quan es desa anar
una tecla del teclat.
En realitat hi ha un munt d'events possibles segons el tipus d'objectes
al que estan destinats. També depèn de la classe de
navegador que tinguem alguns events desen de funcionar. L'abast
d'aquest apunts no permet fer una descripció de tot el llenguatge
JavaScrip.
|
|
2.2
Algunes accions preprogramades del Dreamweaver |
Les accions que proposa el Dreamweaver són
les que es troben a la figura de la dreta.
En principi hem de pensar que aquestes accions ha
de respondre a un event. Així que hem de llegir aquest quadre
junt amb els events amb frases com les següents:
- Quan es carregui la pàgina sortirà
un missatge emergent amb una salutació.
- Quan es descarregui la
pàgina es mostrarà un missatge d’acomiadament.
- Quan es mogui el ratolí a sobre
d'una imatge apareixerà el contingut d'una capa oculta.
- Quan es mogui el ratolí a sobre
d'una capa canviarem una propietat (el color d'una altra capa).
- Quan es faci clic en un botó es
validaran els camps d'un formulari.
Es clar que la llista de accions és molt limitada
tot pensant que aquestes accions són funcions preprogramades
de JavaScript.
El PIE disposa d'un curs de programació en
JavaScript que ens permetrà crear les nostres pròpies
funcions.
Curs de JavaScript del PIE: Pàgines
web dinàmiques |
![](../Imatges/apunts1202.gif)
|
3. Realització
d'alguns exercicis
3.1 Inserir missatges emergents
- Quan es carregui un document
- Feu un document html nou i mireu la finestra
de comportaments. Heu de tenir el cursor del document inmediatament després de l'etiqueta <body>, abans de qualsevol altra etiqueta o text.
- Feu clic en el botó + i trieu Mensaje
Emergente.
- Escriviu "S'ha carregat
la pàgina de prova" com a cos del missatge
- Ara cliqueu a sobre de l'event i trieu l'event
onLoad. Si no apareix a la llista d'events trieu Mostrar
eventos/Para IE6.
- Feu la prova de carregar el document en el
navegador.
- En el mateix objecte es poden posar diferents comportaments. Quan
es descarregui el document del navegador s'obrirà un missatge
emergent d'acomiadament.
- Treballeu al mateix document que abans.
- Afegiu un missatge emergent associat a l'event
onUnload per a l'etiqueta body amb la frase "Adéu,
aquesta pàgina es descarrega del navegador"
- Proveu el resultat. Un cop hagueu carregat
la pàgina descarregueu-la carregant una altra en el navegador.
- Quan feu clic a sobre d'una capa sortirà un missatge.
- A la mateixa pàgina dibuixeu una capa
i poseu el color vermell de fons.
- Poseu nom a la capa. On diu Layer1, a la
finestra de propietats poseu capaVermella.
- Amb el cursor dins de la capa aneu a comportaments.
- Afegiu un missatge emergent amb el text "Has
fet clic a sobre de la capa vermella" associat
a l'event onClick.
- Proveu el resultat carregant la pàgina
en el navegador i fent clic a sobre de la capa.
- Comprova
el resultat.
3.2 Canvi de propietats
d'objectes
- Observa el comportament de les capes que tens a la pàgina Canvi
de propietats.
- Intervenen quatre capes de diferents color
i una capa sobre la que actuen les altres quatre.
- Les quatre primeres capes tenen les mateixes
mides i només es diferencien en el color del fons. També
hem posat nom (id de capa) per a cadascuna. Es diuen capaVermella,
capaBlau ....
- La cinquena capa es diu capaMovil,
no té color de fons i l'estat inicial de la de la seva visibilitat
és oculta (hidden).
- Els events i els comportaments
- En cada capa hi ha definits comportaments
pels events onMouseOver i onMoseOut.
- Quan es passa el ratolí a sobre d'una
d'aquestes quatre capes es realitzen dues accions. La capaMovil
canvia de color i també apareix.
Així, pel event onMouseOver de cadascuna de les quatre capes,
hi ha definits dos comportaments.
Definiu el primer event onMouseOver: Quan es tria Cambiar
propiedad apareix el quadre següent
![](../Imatges/apunts1203.gif)
Heu de triar com a tips d'objecte les capes (DIV) i com a objecte
amb nom la capaMovil. Trieu la propietat backGroundColor
i poseu-li el color que té la capa on esteu posant el comportament.
El segon comportament de onMouseOver és
Mostrar ocultar capas que ha de mostrar
la capaMovil.
- L'event onMouseOut de cadascun de les quatre
capes fa que la capaMovil desaparegui. Així heu de afegir
un comportament a cadascuna de les quatre capes per ocultar la capaMovil.
3.3 Arrossegar una
capa. Un puzzle.
- Hem fet un exemple amb les peces del Tangram. Prova el resultat a
la pàgina Tangram.htm.
Es manifesten els següents fets:
- Hi ha set capes que es poden arrossegar.
- Cadascuna d'aquestes capes té una
imatge de les peces del Tangram. Aquestes imatges són gifs
que tenen com a color transparent el del fons de la imatge.
- Quan arrosseguem les imatges in ens apropem
al seu lloc original sembla que la peça s'ajusti sola a la
seva posició.
- Hi ha una capa de color gris que fa de fons
de la imatge final.
- Els passos per crear aquesta pàgina són els següents:
- Tenir preparades les imatges del puzle.
- Crear les capes de les peces i donar el seu
nom a cadascuna.
- Inserir les imatges dins de les capes i ajustar
la mida de les capes a la seva imatge inserida.
- Posar les imatges en el seu lloc definitiu.
- Afegir els comportaments a totes les capes
que han de moure's. Heu de posar el comportament Arrastrar
capa associat a l'event onDrag. Heu de tenir cura
de tenir seleccionada la capa, i no la imtage que té dins,
quan crideu a la finestra de comportaments.
Segon es veu al quadre de diàleg de si fem clic al botó
"Obtener posición actual" el Dreamweaver ens calcula
la posició de destí de la peça.
- Col·locar les capes desordenades per
a la presentació de la pàgina del puzle als usuaris.
3.4 Mostrar i ocultar
menús.
- Proveu la pàgina menus.htm
i observeu els seus elements i les propietats que tenen.
- En primer lloc tenim una pàgina enquadrada
en una taula d'una columna i tres files (cel·les).
- La primera cel·la serveix pels títols
i logotips.
- La segona conté tres imatges de substitució
a les que hem afegit un comportament. Ha de aparèixer un
menú en cadascuna quan passem a sobre d'elles amb el ratolí.
Aquests menús es defineixen com a comportaments que s'executen
quan s'esdevé l'event onMouseOver.
- La tercera cel·la tindrà el
contingut de la pàgina.
- Els passos per fer uns menús d'aquest tipus són els
següents:
- Hem de tenir les imatges per fer les imatges
de sustitució. Les de l'exemple estan fetes amb el Fireworks.
- Creem les imatges de substitució amb
l'opció Insertar/Objetos de imagen/Imagen
de sustitución. No heu de posar cap enllaç
a aquestes imatges.
- Crear els menús de cadascuna de les
imatges. Amb la imatge seleccionada afegiu el comportament Mostrar
menú emergente associat a l'event onMouseOver.
Quan apliquem el comportament apareix un quadre de diàleg
com el següent:
![](../Imatges/apunts1205.gif)
En aquest quadre de diàleg hi ha quatre fulls. En el primer,
anomenat Contenido es creen totes les
opcions del menú amb els enllaços necessaris. Mireu
els botons de dalt que permeten afegir opcions, aplicar o anular
sagnia d'un element i canviar l'ordre dels elements. Amb la sagnia,
després, es defineixen els submenús.
Els quadres Apariencia i Avanzado permeten
donar format als menús. En darrer lloc el quadre posició
permet col·locar el menú amb mesura en pixels respecte
al vèrtex superior esquerra de la imatge de substició
que el crida.
- Al final heu de tenir en cada imatge de substitució
quatre comportaments, dos onMouseOver i dos onMouseOut. El primer
onMouseOver i el primer onMouseOut es creen quan feu la imatge de
substitució. El segon onMouseOut el genera automàticament
el Dreamweaver quan creem el comportament d'obrir un menú.
- NOTA: El Dreamweaver afegeix
al mateix directori on es desa la pàgina amb el menú
els fitxers mm_menu.js i arrow.gif que són necessaris pel
funcionament del menú i que heu de pujar al servidor quan
publiqueu la vostra pàgina web.
|