Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Clase 660 Libro Introduccion A JavaScript PDF
Clase 660 Libro Introduccion A JavaScript PDF
__________________________________________________________________________________
HTML BÁSICO
1
Objetivos de la unidad
http://www.pacoarce.com 1
JavaScript
__________________________________________________________________________________
CURSO BÁSICO DE HTML
Estas etiquetas son fragmentos de texto delimitados por los signos menor que < y mayor que >.
Estas etiquetas indican al navegador, la forma de representar los elementos (texto, gráficos, etc.…) que
contiene el documento; en este manual, nos referiremos a estas ordenes con la palabra etiqueta.
Todos los elementos que sean situados entre etiquetas o a partir de la de inicio, serán afectados
ya sea por texto, o más etiquetas.
Las etiquetas que estén mal escritas o que sean desconocidas para el navegador, son ignoradas.
Estructuración de un documento.
Un documento HTML esta definido por una etiqueta de inicio <HTML> y una terminación
</HTML>. Otras dos partes fundamentales de un documento HTML son la cabecera o
encabezamiento, comprendido entre las etiquetas <HEAD> y </HEAD> y el cuerpo, entre <BODY>
y </BODY>.
<HTML>
<HEAD>
Definiciones de la cabecera del documento
</HEAD>
<BODY>
Cuerpo del documento HTML que se va a visualizar
</BODY>
</HTML>
La cabecera
Para el primer supuesto se emplean atributos del tipo HTTP-EQUIV, y para el segundo, del tipo
NAME. En ambos, el valor a especificar se estipula en el campo CONTENT.
También tenemos la etiqueta <LINK> que nos sirve para crear barras de herramientas o menús
interactivos en la ventana del navegador.
http://www.pacoarce.com 3
JavaScript
__________________________________________________________________________________
Para finalizar, tenemos la etiqueta que permite incluir comentarios dentro de nuestro código
fuente, <!-- comentarios -->. Es recomendable usarlo en documentos extensos o complejos, ya que
permite introducir anotaciones para revisiones posteriores del código.
Para identificar el formato en que ha sido desarrollado un código fuente, se utiliza la etiqueta
<!DOCTYPE>, su contenido de esta permite saber que versión de HTML ha sido utilizada en el
documento.
El cuerpo
El cuerpo de un documento HTML contiene el texto de la página. Las etiquetas de inicio y fin
son <BODY> y </BODY>, y entre ellas se debe situar todo el código restante del documento.
</HEAD>
<BODY>
<!—A partir de aquí se irán introduciendo los distintos elementos del documento HTML -->
</BODY>
</HTML>
La etiqueta <BODY> tiene una serie de atributos que permiten establecer una serie de
características generales para todo el documento, como puede ser el color del texto, de los enlaces o
del fondo del documento.
Hay dos maneras de indicar los colores: en formato hexadecimal o referenciados por su nombre
preestablecido.
Para indicar los colores en formato hexadecimal, se deberá indicar la proporción de rojo, verde
y azul correspondiente para formar el color deseado. El valor RGB del color estará determinado por
RR, GG y BB para los niveles de Rojo, Verde y Azul, con los valores entre 0 y FF (de 0 a 255). El
número es “#000000” corresponde al color negro, “#FF0000” al rojo, “#00FF00” al verde, “#0000FF”
al azul, “#FFFFFF” al blanco, y así muchos más.
Es más fácil indicar el nombre del color en ingles como: black, teal, blue, navy, lime, white,
purple, yellow, olive, red, marron, gray, fucsia, green, silver y aqua.
Los atributos que podrán añadirse a la etiqueta <BODY> son los siguientes:
BGCOLOR=”#rrggbb o nombre del color”, para indicar el color del fondo del documento.
TEXT=”#rrggbb o nombre del color”, para especificar el color general del texto.
LINK=”#rrggbb o nombre del color”, para especificar el color del texto de los enlaces.
VLINK=”#rrggbb o nombre del color”, para indicar el color del texto de los enlaces ya
visitados.
ALINK=”#rrggbb o nombre del color”, para indicar el color en que se pondrá el texto del
enlace en el momento de su activación.
También existe la opción de usar imágenes para el fondo de los documentos HTML. La
imagen se mostrará debajo del texto y de las imágenes, y si no es lo suficientemente grande para
rellenar el fondo del documento. Será reproducida tantas veces como sea necesario hasta completarlo.
<HTML>
<HEAD>
<TITLE>Ejemplo 1 de aplicación de la etiqueta BODY</TITLE>
</HEAD>
<!-- El color de fondo es gris, el texto negro, los enlaces aparecerán en azul,
los visitados en violeta y rojos cuando se activen.-->
</BODY>
</HTML>
<HTML>
<HEAD>
http://www.pacoarce.com 5
JavaScript
__________________________________________________________________________________
<TITLE>Ejemplo 2 de aplicación de la etiqueta BODY</TITLE>
</HEAD>
<!-- El fondo del documento es la imagen fondo1.gif y los colores del texto idénticos a los
del ejemplo anterior, pero indicados en formato hexadecimal.-->
</BODY>
</HTML>
La etiqueta <P> que se utiliza para separar párrafos. Para HTML el texto es continuo, por lo
que necesitamos indicar el principio y fin de un párrafo. Las marcas son <P> y </P>, aunque la
utilización de la última es opcional.
Otra etiqueta es <BR>. Esta etiqueta sólo tiene marca inicial y se usa para cambiar de línea.
El agua de la fuente,
sobre la piel tosca
y de verdín cubierta
resbala silenciosa.
Antonio Machado.
Cabeceras y separadores.
Las cabeceras se emplean para dividir los documentos en secciones, es decir, para marcar los
títulos de estas secciones. La etiqueta para las cabeceras es <HN> y </HN> donde n varía de 1 a 6.
El valor de 1 correspondería con una letra muy grande y el de 6 con una muy pequeña. Al utilizar esta
etiqueta, se genera automáticamente un salto de línea similar al utilizado con la etiqueta <P>.
Ejemplo de su utilización.
Para poder separar partes del documento, la etiqueta <HR> dibuja una barra horizontal que divide la
pantalla con un grosor y una longitud determinada a través de sus atributos. El atributo SIZE permite
especificar el grosor de dicha barra, mientras que WIDTH indica la longitud o el porcentaje relativo
con respecto al ancho de la página. Para la alineación de la barra se utilizara ALIGN con los valores
left, right, center, justify o el porcentaje adecuado. NOSHADE elimina la sombra de la barra.
<HTML>
<HEAD>
<TITLE>Listado de ejemplo de cabeceras y separadores</TITLE>
</HEAD>
<BODY>
http://www.pacoarce.com 7
JavaScript
__________________________________________________________________________________
</BODY>
</HTML>
Existe una etiqueta que permite introducir en HTML texto con formato, es decir, el texto
introducido entre las etiquetas <PRE> y </PRE> será visualizado por el navegador respetando los
espacios, saltos de línea, etc. El atributo WIDTH permite especificar el máximo número de caracteres
por línea.
Ejemplo de un listado
<HTML>
<HEAD>
<TITLE>Listado HTML ejemplo de texto preformateado</TITLE>
</HEAD>
<BODY>
<PRE width=60>
VISITAS DE INTERNET
</PRE>
</BODY>
</HTML>
Estilos de texto
http://www.pacoarce.com 9
JavaScript
__________________________________________________________________________________
<SMALL> Texto pequeño, el menor tamaño de fuente.
<SUP> Superíndice.
<SUB> Subíndice.
<ADDRESS> Emplearemos esta etiqueta para mostrar un bloque de texto en cursiva.
Generalmente se utiliza para marcar una dirección o firma.
<BLOCKQUOTE> Etiqueta que define un bloque de texto como una cita de otra fuente.
Se suele representar con una tabulación y en cursiva.
<CITE> Muestra el texto como si fuese una cita.
<CODE> Se utiliza para representar una etiqueta HTML o código de programa.
<EM> Presenta el contenido de un bloque de texto enfatizado.
<STRONG> Texto más enfatizado que el caso anterior. Negrita.
<STRIKE> Texto tachado.
<BIG> Texto grande respecto al tamaño normal.
<SMALL> Texto pequeño respecto al tamaño normal.
<CENTER> Centra el texto en la pantalla.
<DIV></DIV> Cambio de línea similar en tamaño al generado con <BR>
<SPAN></SPAN> Se marca un conjunto de palabras a las que se les puede aplicar un
Determinado estilo con el atributo style. (Esta etiqueta no genera cambio de línea)
<HTML>
<HEAD><TITLE> Ejemplo de diversos textos con formatos</TITLE></HEAD>
<BODY>
<H1 align="center”> TITULO CON H1 CENTRADO </H1>
<HR width="50%" align="center" noshade>
<H2> Subtitulo con H2 </H2>
<P align="center"> Párrafo de texto <BR>
marcado con P, centrado<BR>
y con cambios de línea generados con BR. <BR></P>
</BODY>
</HTML>
Figura 1.6. Apariencia de algunos formatos aplicables al texto de una página HTML.
Fuentes
También podemos cambiar el tamaño de la fuente tomando como referencia el tamaño normal
de la fuente.
http://www.pacoarce.com 11
JavaScript
__________________________________________________________________________________
<FONT COLOR=”red”> Ahora en rojo </FONT>
También podemos cambiar el tipo de fuente, pero para poder visualizarlas, deberemos disponer
de ella en el computador.
Si es necesario poner todo el texto con un mismo tamaño deberemos utilizar la etiqueta
<BASEFONT>.
<BASEFONT SIZE=5>
Ejemplo de código.
<HTML>
<HEAD> <TITLE> Listado de ejemplo de utilización de FONT </TITLE>
</HEAD>
<BODY>
<FONT SIZE=”6” FACE=”Cosmic” COLOR=”Blue”> Este texto está en azul con una fuente
Cosmic </FONT>
<BR>
<FONT SIZE=”2” FACE=”Arial” COLOR=”black”> Este otro en negro con la fuente
Arial </FONT>
<BR>
<FONT SIZE=”4” FACE=”Verdana” COLOR=”Red”> Otro ejemplo de utilización</FONT>
<BR>
<FONT SIZE=”5” FACE=”Dauphin” COLOR=”Red”> Para terminar <FONT COLOR=”blue”>
un <FONT COLOR=”navy”> más <FONT COLOR=”black”>. Os gusta. </FONT>
</BODY>
</HTML>
ENLACES
Cualquier elemento de un documento HTML puede ser definido como enlace, y una imagen,
párrafo de texto o un bloque de texto pueden ser enlaces a otros puntos del documento o de la red.
La estructura general de in enlace esta formada por la etiqueta <A> seguida de determinados
atributos. Como norma general un enlace se distingue del texto normal porque éste aparece resaltado
Tipos de enlaces
En documentos extensos o índices suelen ponerse enlaces desde el principio del documento, al
final del mismo y viceversa. El primer paso consiste en marcar las distintas zonas del documento a las
que se desea poder acceder de manera inmediata; en este caso el inicio y final del documento.
<A NAME=”iniciodocumento”>
Hemos marcado como inicio un punto en el comienzo del documento. Ahora para el final del
documento, pondremos esta línea:
Una vez marcadas las distintas zonas del documento, vamos a situar en el mismo los enlaces
que nos permitirán ir de arriba abajo la página.
<!-- Esta línea debe situarse al comienzo del cuerpo del documento -->
<A HREF=”#finaldocumento”> Pulsa aquí para ir al final de esta pagina </A>
<!—Esta línea debe situarse al final del cuerpo del documento -->
<A HREF=”#iniciodocumento”> Pulsa aquí para ir al principio de esta</A>
Cuando se dispone de varias páginas, es normal que desde una de ellas se pueda acceder a otra
y, desde esta otra a una tercera, etc. El procedimiento es similar al anterior, pero en esta es necesario
especificar el nombre del archivo que contiene la página a la que se quiere acceder.
http://www.pacoarce.com 13
JavaScript
__________________________________________________________________________________
<A HREF=”secundaria.html#opciones”> Pulsa aquí para ver las opciones de mi otra pagina </A>
<!—Enlace activo la figura imagen1.jpg. Al pulsar sobre ella se accede a la dirección especificada
en ref. -->
<HTML>
<HEAD>
<TITLE>Listado de ejemplo de enlaces</TITLE>
</HEAD>
<BODY>
<H3><U>Opciones disponibles en esta página</U></H3>
<P>Relación de enlaces disponibles<BR>
<A HREF=http://www.google.com/fotos.html>Colección de fotografías</A><BR>
<P>El Tercer Mundo. [No disponible]<BR>
<A HREF=http://www.google.com/musica.html>Todo en música</A><BR>
<A HREF=http://www.google.com/libros.html> Biblioteca de los seres vivos</A><BR>
<P>Fotografía erótica. [No disponible]<BR>
<A HREF=”malito:micorreo@miservidor.com”>micorreo@miservidor.com<A/><BR>
</BODY>
</HTML>
Las listas se emplean para presentar de forma ordenada una serie de líneas. Estas pueden ser
ordenadas, desordenadas, de definición, de menú y de directorio. Las últimas no generan resultados
relevantes, por lo que no las trataremos.
Destacar que los distintos tipos de listas pueden combinarse entre si.
Listas desordenadas
Las etiquetas que definen este tipo de lista son <UL> y </UL> respectivamente.
Las listas desordenadas se utilizan para relacionar elementos sin orden específico. HTML
coloca un símbolo delante de cada elemento dependiendo del valor especificado en el atributo TYPE.
Este atributo puede tomar el valor de circle (círculo sin relleno), disc (círculo con relleno) y square
(cuadrado). Se este atributo se aplica a la etiqueta <UL>, toda la lista utilizará el símbolo indicado, en
cambio, si se le aplica a la etiqueta <LI>, encargada de señalar los distintos elementos de una lista, el
cambio de símbolo sólo afectara al elemento actual y a los siguientes hasta nueva indicación.
http://www.pacoarce.com 15
JavaScript
__________________________________________________________________________________
Ejemplo de listado.
<UL TYPE=square>
<LI> Capitulo 1
<LI> Capitulo 2
<LI> Capitulo 3
<UL TYPE=disc>
<LI> Apartado 3.1
<LI> Apartado 3.2
</UL>
<LI> Capitulo 4
</UL>
§ Capítulo 1
§ Capítulo 2
§ Capítulo 3
• Apartado 3.1
• Apartado 3.2
§ Capítulo 4
Este tipo de lista se utiliza para relacionar elementos con un orden determinado y precedido de
un número que se incrementa automáticamente. Las etiquetas son <OL> y </OL>.
Recordemos que la etiqueta <LI>, es la encargada de señalar los distintos elementos de una
lista. Las listas ordenadas siempre comienzan por 1 y van aumentando progresivamente, pero estas
características se pueden controlar mediante los atributos TYPE y START.
START especifica el número del primer elemento de la lista, para valores distintos a 1
(tomado por efecto). El orden se da siempre en números independientemente del tipo de marca
seleccionada.
Ejemplo de código
Las listas de definición, son apropiadas para glosarios, catálogos, etc.. Los elementos deben ir
englobados entre las etiquetas <DL> y </DL> y están formadas por un primer elemento, al que
podríamos denominar termino o título concretado con la etiqueta <DT>, y un segundo llamad
definición señalado con la etiqueta <DD>.
Ejemplo de código.
<DL>
<DT> HTML
<DD> Hyper Text MarkUp Language
<DT> JavaScript
<DD> Lenguaje orientado a objetos desarrollado para aplicaciones de Internet
</DL>
IMÁGENES
Para incluir imágenes en documentos HTML se emplea la etiqueta <IMG> junto con un
atributo imprescindible: SRC.
http://www.pacoarce.com 17
JavaScript
__________________________________________________________________________________
Un atributo útil es ALT. Este introduce una descripción de la imagen con la finalidad de que
los usuarios que acceden a la página con un navegador en modo texto puedan hacerse una idea de las
imágenes que contiene.
Las imágenes deben estar en formato GIF, JPEG, XBM o PNG (Portable Network Graphics).
Las imágenes GIF ocupan poco espacio, se cargan rápidamente y sólo pueden trabajar con 256
colores. Pueden hacerse fondos transparentes.
El formato JPEG tiene un tamaño aun menor que el GIF y trabaja con color de 24 bits, 16.7
millones de colores.
El formato PNG está poco introducido y sólo los navegadores de última generación lo
soportan. Su tamaño es menor que el GIF y la calidad superior al JPEG.
El atributo ALIGN permite alinear la imagen respecto al texto en función de los siguientes
valores: left, right, top, texttop, middle, absmiddle, baseline, bottom y absbottom.
<HTML>
<HEAD><TITLE>Código ejemplo de alineación de imágenes</TITLE>
</HEAD>
<BODY>
<IMG SRC="counter.gif" ALIGN="top" ALT="imagen de contador"> Alineación TOP
<BR><BR>
Para poner un marco o borde a una imagen se deberá utilizar el atributo BORDER.
<HTML>
<HEAD><TITLE> Ejemplo de bordes en imágenes</TITLE>
</HEAD>
<BODY>
<IMG SRC="back.gif" BORDER=0><BR>
<IMG SRC="back.gif" BORDER=2><BR>
<IMG SRC="back.gif" BORDER=4><BR>
http://www.pacoarce.com 19
JavaScript
__________________________________________________________________________________
<IMG SRC="back.gif" BORDER=6><BR>
</BODY>
</HTML>
También podemos redefinir el tamaño de una imagen mediante los atributos WIDTH y
HEIGHT (anchura y altura) con los que podemos redimensionar una imagen para adaptarla a nuestras
necesidades.
<HTML>
<HEAD><TITLE> Ejemplo de redimensionado de imagen</TITLE>
</HEAD>
<BODY>
<IMG SRC="tierra.gif" WIDTH=192 HEIGTH=270> Imagen a tamaño real
<IMG SRC="tierra.gif" WIDTH=100 HEIGHT=190> Imagen redimensionada
</BODY>
</HTML>
El atributo VSPACE indica el espacio a reservar por encima y por debajo de la imagen.
El atributo HSPACE se refiere al espacio a reservar a derecha e izquierda de la misma. El
valor se especifica en puntos.
<HTML>
<HEAD><TITLE> Ejemplo de carga de imagen en baja resolución</TITLE>
</HEAD>
<BODY>
<IMG SRC="altacalidad.jpg" BORDER=2 LOWSRC="bajacalidad.jpg" ALT="cara de chica">
</BODY>
</HTML>
IMÁGENES MAPEADAS
Las imágenes mapeadas son aquellas en las que se definen diversas zonas que activan distintos
enlaces cuando son seleccionadas.
Desarrollo de la imagen
Primero se realiza el diseño de la imagen mediante un programa gráfico. Después para definir
las distintas zonas de la imagen necesitamos conocer las coordenadas que delimitan las áreas de la
imagen que deseamos sensibilizar, para ello tomaremos las coordenadas que delimitan. Finalmente,
asignaremos a cada zona su correspondiente enlace.
http://www.pacoarce.com 21
JavaScript
__________________________________________________________________________________
Programación del código
Ahora tenemos que asignar a cada parte de la imagen el correspondiente URL de destino. La
etiqueta <AREA> se encarga de gestionar las distintas áreas del mapa ayudada por los atributos
SHAPE, COORDS y HREF.
El atributo SHAPE se encarga de delimitar las distintas zonas del mapa según los siguientes
valores:
Rect. Usado para delimitar una superficie rectangular por medio de las coordenadas del
vértice superior izquierdo e inferior derecho.
Circle. Delimita una circunferencia mediante la coordenada del centro de la misma y el valor
del radio.
Poly. Polígono definido mediante un conjunto de líneas. Se deben definir las coordenadas de
los distintos vértices de las polilíneas.
Las distintas áreas del mapa debían ser definidas mediante coordenadas, por lo que usaremos el
atributo COORDS, para introducir estas junto con el URL al que se accederá.
<HTML>
<HEAD><TITLE>Código ejemplo de una imagen mapeada</TITLE></HEAD>
<BODY>
<IMG SRC="menú.jpg" ALT="Menú de opciones" BORDER=0 USEMAP="#Juanysmap">
<MAP NAME="Juanysmap">
<AREA SHAPE="rect" COORDS="30,95,111,112"HREF="busca.htm">
<AREA SHAPE="rect" COORDS="114,96,166,111"HREF="pages.htm">
<AREA SHAPE="rect" COORDS="169,96,261,111"HREF="guestbook.htm">
<AREA SHAPE="rect" COORDS="264,96,377,111"HREF="verbook.htm">
<AREA SHAPE="rect" COORDS="30,40,104,58"HREF="down.htm">
<AREA SHAPE="rect" COORDS="106,40,210,58"HREF="chord.htm">
<AREA SHAPE="rect" COORDS="279,40,378,58"HREF="biblio.htm">
<AREA SHAPE="rect" COORDS="213,40,276,58"HREF="kit.htm">
TABLAS
Las tablas están divididas en celdas, que pueden contener texto, listas, imágenes, enlaces,
formularios, etc.
Las etiquetas <TABLE> y </TABLE> son las encargadas de definir el principio y el final de
una tabla respectivamente.
También utilizaremos las etiquetas <TD> y </TD> para inicio y final de cada una de las celdas
y <TR> y </TR> para el inicio y final de cada fila. También podemos utilizar <TH> y </TH> para
definir el inicio y final de una celda de cabecera. El contenido de esta aparecerá en negrita y centrado.
Para diseñar una tabla de 10 celdas y dos filas para clasificar los números del 0 al 9, el código
sería similar a este:
<HTML>
<HEAD><TITLE>Tabla con los números del 0 al 9</TITLE></HEAD>
<BODY>
<TABLE>
<TR>
<TD>0</TD> <TD>1</TD> <TD>2</TD> <TD>3</TD> <TD>4</TD></TR>
<TR>
<TD>5</TD> <TD>6</TD> <TD>7</TD> <TD>8</TD> <TD>9</TD>
</TR>
</TABLE>
</BODY>
</HTML>
http://www.pacoarce.com 23
JavaScript
__________________________________________________________________________________
0 1 2 3 4
5 6 7 8 9
La etiqueta <CAPTION> se utiliza para poner un título a la tabla. El título se puede situar
arriba o abajo, con el atributo ALIGN.
<HTML>
<HEAD><TITLE>Tabla con bordes</TITLE></HEAD>
<BODY>
<TABLE BORDER=5>
<CAPTION ALIGN=bottom>Horas trabajadas de la semana<CAPTION><TR>
<TH>Lunes</TH><TH><CENTER>Martes</CENTER></TH>
<TH>Miércoles</TH><TH>Jueves</TH><TH>Viernes</TH>
<TH>Sábado</TH><TH>Domingo</TH>
</TR>
<TR>
<TD>10</TD><TD>8</TD><TD>8</TD><TD>11</TD><TD>8</TD><TD>3</TD>
</TR>
</TABLE>
</BODY>
</HTML>
Los atributos COLSPAN y ROWSPAN permiten que una celda ocupe el espacio de varias,
expandiéndose hacia la celda de la derecha o hacia la siguiente fila. COLSPAN indica el número de
celdas contiguas que debe ocupar hacia la derecha, mientras que ROWSPAN indica cuántas filas
hacia abajo se expande la celda.
Ejemplo:
<HTML>
<HEAD><TITLE>Ejemplo de dimensionado de celdas></TITLE></HEAD>
<BODY>
<TABLE border=5>
<CAPTION>Ejemplo de alineaciones y dimensionados</CAPTION>
<TR>
<TD COLSPAN=2 ALIGN="right">Esto ocupa dos celdas</TD>
<TD>Celda</TD>
<TD>Celda</TD>
</TR>
<TR>
<TD ROWSPAN=2 VALIGN="bottom"> Esto ocupa dos filas</TD>
<TD>Celda</TD>
<TD>Celda</TD>
<TD>Celda</TD>
</TR>
<TR>
<TD>Celda</TD>
<TD>Celda</TD>
<TD>Celda</TD>
</TR>
</TABLE>
</BODY>
</HTML>
http://www.pacoarce.com 25
JavaScript
__________________________________________________________________________________
<TABLE WIDTH=50><TABLE>
<TABLE WIDTH=50%><TABLE>
<TABLE HEIGHT=150><TABLE>
Se puede asignar un color de fondo a toda la tabla, a una celda o la combinación de varias. El
atributo a utilizar es BGCOLOR. Para hacer que toda la tabla tenga como color de fondo el verde
(green), el código deberá ser:
Para que una determinada celda tenga como color de fondo el verde, el atributo deberá estar en
la etiqueta que define dicha celda:
Para combinar distintos colores, utilizaremos el atributo tantas veces como sea necesario; el
color que predomine se puede establecer en la etiqueta <TABLE>.
<HTML>
<HEAD><TITLE>Colores de fondo y dimensiones generales de la tabla</TITLE>
</HEAD>
<BODY>
<TABLE WIDTH=400 BORDER=5 ALIGN="CENTER"
VALIGN="CENTER"BGCOLOR=yellow>
<CAPTION>OTRO EJEMPLO MAS DE TABLAS</CAPTION>
<TR>
<TD>JUAN</TD>
<TD>NIEVES</TD>
<TD BGCOLOR=gray>LYDIA</TD>
REPRODUCCIÓN DE AUDIO
La capacidad de reproducir sonido en una página Web esta determinada por el navegador que
se utilice.
http://www.pacoarce.com 27
JavaScript
__________________________________________________________________________________
Microsoft y Netscape utilizan etiquetas y atributos no estándares de HTML, consiguiendo que
determinadas funciones multimedia no sean reconocidas por el navegador.
Un atributo fundamental en esta etiqueta es LOOP, ésta será usada para especificar el número
de veces que se debe ejecutar el archivo de sonido. Puede tener un valor numérico o valor infinite, que
reproducirá el archivo en un bucle cerrado.
El siguiente código de ejemplo, reproduce automáticamente una sola vez el archivo MIDI
musica.mid sin mostrar ninguna ventana de control:
LOS FRAMES
Un brame es un marco que divide la pantalla en filas y columnas según nuestras necesidades.
Con los brames podemos dividir la pantalla en ventanas y visualizar, por ejemplo, un menú en la parte
izquierda y los resultados de los enlaces en la derecha.
El atributo TARGET determina el lugar de destino del contenido del enlace especificado. Una
vez dividida la pantalla, deberemos indicar en los enlaces de nuestro código HTML el lugar de la
pantalla en donde serán visualizados.
Estructura básica
El código principal de una página con frames no presenta las etiquetas <BODY> y </BODY>.
El código deberá estar incluido entre las etiquetas <HEAD> y </HEAD>.
http://www.pacoarce.com 29
JavaScript
__________________________________________________________________________________
SRC=”url”. El atributo SRC toma como valor el URL del documento que se debe mostrar en
esa ventana en particular. Si no se incluye, la ventana quedará vacía.
NAME=”nombre ventana”. Como se puede deducir, se emplea para dar un nombre a una
ventana, de maneta que pueda ser el destino de cualquier enlace.
MARGINWIDTH=”valor”. Lo emplearemos cuando queramos precisar un número de
píxeles entre los bordes izquierdo y derecho de la ventana.
MARGINHEIGHT=”valor”. Lo emplearemos cuando queramos precisar un número de
píxeles entre los bordes izquierdo y derecho de la ventana.
SCROLLING=”yes|no|auto”. Este atributo se utilizará para mostrar barras de
desplazamiento o no. Yes mostrará siempre las barras, no nunca pondrá barras en la ventana y
auto hará que el navegador decida si son necesarios o no en función del contenido de la misma.
NORESIZE. Atributo que indica al navegador que la ventana no pueda ser redimensionada
por el usuario.
<HTML>
<HEAD><TITLE>Ejemplo de varios frames combinados</TITLE>
<FRAMESET COLS="100%" ROWS="33%,33%,*">
<FRAMESET COLS="20%,20%,20%,20%,*">
En ejemplo más:
<HTML>
<HEAD><TITLE>Un ejemplo complejo de Frames</TITLE>
<FRAMESET ROWS="100%" COLS="16%,16%,16%,16%,16%,*">
<FRAMESET ROWS="50%,*">
<FRAME NAME="Frame 1"SRC="/ejemplo.htm"SCROLLING="AUTO">
<FRAME NAME="Frame 2"SRC="/ejemplo.htm"SCROLLING="YES">
</FRAMESET>
<FRAMESET ROWS="33%,33%,*">
<FRAME NAME="Frame 3"SRC="/ejemplo.htm"SCROLLING="AUTO"
NORESIZE>
<FRAME NAME="Frame 4"SRC="/ejemplo.htm"SCROLLING="YES">
<FRAME NAME="Frame 5"SRC="/ejemplo.htm"SCROLLING="AUTO">
</FRAMESET>
<FRAMESET ROWS="50%,*">
<FRAME NAME="Frame 6"SRC="/ejemplo.htm"SCROLLING="YES">
<FRAME NAME="Frame 7"SRC="/ejemplo.htm"SCROLLING="AUTO"
NORESIZE>
</FRAMESET>
<FRAMESET ROWS="33%,33%,*">
<FRAME NAME="Frame 8"SRC="/ejemplo.htm"SCROLLING="AUTO">
<FRAME NAME="Frame 9"SRC="/ejemplo.htm"SCROLLING="AUTO">
<FRAME NAME="Frame 10"SRC="/ejemplo.htm"SCROLLING="YES">
</FRAMESET>
<FRAMESET ROWS="50%,*">
<FRAME NAME="Frame 11"SRC="/ejemplo.htm"SCROLLING="YES">
<FRAME NAME="Frame 12"SRC="/ejemplo.htm"SCROLLING="AUTO">
</FRAMESET>
</HEAD>
</HTML>
LOS FORMULARIOS
Los formularios pueden introducirse en cualquier parte del documento, es decir, en tablas,
dentro de un texto preformateado, etc. También pueden contener en su interior listas, imágenes, etc.
Las etiquetas que definen el inicio y final de un formulario es: <FORM> y </FORM>
respectivamente. Las etiquetas que definen los campos de entrada <INPUT>, las que definen los
campos de selección <SELECT> y las áreas de texto <TEXTAREA>.
http://www.pacoarce.com 31
JavaScript
__________________________________________________________________________________
Los elementos que componen un formulario deben encontrarse entre las etiquetas <FORM> y
</FORM>.
ACTION. Atributo que determina la acción que debe realizarse al pulsar el botón de
ejecución.
METHOD. Indica el método de transferencia de la información introducida en el formulario.
Pueden emplearse los métodos GET y POST. El método GET envía la información a través
de una variable llamada QUERY_STRING. El método POST utiliza dos variables:
CONTENT_LENGTH, que contiene la longitud de datos enviados, y CONTENT_TYPE, que
son los datos propiamente.
ENCTYPE. Atributo que determina la forma de codificación empleada para el transporte del
contenido del formulario.
La etiqueta <INPUT> se emplea para definir todos los elementos del formulario, como
botones, cajas de texto, casillas de verificación, etc. El atributo que determina el tipo de elemento es
TYPE.
Checkbox
Se utiliza para elegir una serie de opciones disponibles, pudiéndose realizar selecciones
múltiples. Los elementos de este tipo requieren como mínimos los atributos NAME y VALUE, que
indican respectivamente el nombre del tipo o grupo de tipos y el valor del campo.
Ejemplo de código.
Hidden
Este tipo no muestra ningún campo en pantalla. Asigna una especie de marca al formulario
para que el navegador pueda reconocer al formulario en posteriores tareas. También se necesitan
especificar los atributos NAME y VALUE.
Text
Valor por defecto del atributo TYPE. Define una zona de entrada de texto simple que puede
tomar como atributos opcionales los siguientes:
MAXLENGTH. Atributo que delimita el número máximo de caracteres que pueden ser
introducidos. El número de caracteres por defecto es limitado.
SIZE. Especifica la cantidad de espacio reservada para introducir el texto.
VALUE. Permite poner un valor inicial para la casilla.
Ejemplo:
http://www.pacoarce.com 33
JavaScript
__________________________________________________________________________________
Figura 1.18. Ejemplo del campo de entrada text. Observe el redimensionado de la casilla Dirección.
Password
Este tipo se utiliza generalmente para la introducción de claves de acceso. El texto que se va
escribiendo en la ventana no es legible por curiosos.
Código:
<HTML>
<BODY>
Introduzca nombre de usuario:<INPUT NAME="usuario"><BR>
Contraseña: <INPUT TYPE="password" NAME="pass">
</BODY>
</HTML>
Radio
Es similar al checkbox, pero ésta solo permite elegir una opción entre todas. Los elementos de
este tipo requieren como mínimo los atributos NAME y VALUE.
Código de ejemplo:
<HTML>
<BODY>
<INPUT TYPE="radio" NAME="edad" VALUE="-18"> Menos de 18 años<BR>
<INPUT TYPE="radio" NAME="edad" VALUE="18-25" CHECKED> Entre 18 y 25 años<BR>
<INPUT TYPE="radio" NAME="edad" VALUE="25-35"> Entre 25 y 35 años<BR>
Reset
Se usa para eliminar del formulario todos los valores introducidos. Su aspecto es el de un
botón y su nombre se especifica con en atributo VALUE.
Submit
MULTIPLE. Por defecto solo puede ser seleccionada una sola opción. Este atributo permite
selecciona más, pulsando la tecla CTRL junto con la opción.
NAME. Atributo que especifica el nombre de la lista de selección.
SIZE. Atributo que determina el número de ítems visibles superior a
1. en este caso muestra una barra de desplazamiento lateral.
Ejemplo de código:
http://www.pacoarce.com 35
JavaScript
__________________________________________________________________________________
Ejemplo:
http://www.pacoarce.com 37
JavaScript
__________________________________________________________________________________
Introducción a
JavaScript 2
Objetivos de la unidad
No hay que confundir Java con JavaScript. Java es un lenguaje completo que permite crear
aplicaciones independientes, mientras que JavaScript es un lenguaje que funciona como extensión del
HTML, que está orientado a objetos, diseñado para el desarrollo de aplicaciones cliente-servidor a
través de Internet.
JAVASCRIPT Y HTML
El primer paso es diferenciar dentro de un documento lo que es JavaScript del resto. Para ello
HTML dispone de una etiqueta que define el incio y el final de un código JavaScript. Para definir el
inicio de un programa se debe utilizar la etiqueta <SCRIPT LANGUAGE=”JavaScript”> y
determinar el final con </SCRIPT>.
El atributo LANGUAGE indica el navegador el lenguaje script utilizado. En el caso que nos
ocupa el nombre a poner debe ser JavaScript. Si se omite la especificación del lenguaje, el navegador
asume que el script está programado en JavaScript.
http://www.pacoarce.com 39
JavaScript
__________________________________________________________________________________
<HTML>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
document.write("primeros pasos con JavaScript");
</SCRIPT>
</BODY>
</HTML>
El texto anterior muestra en pantalla una línea con el texto Primeros pasos con JavaScript
No todos los navegadores pueden soportar JavaScript. Cuando el usuario utiliza un navegador
que no soporta JavaScript las etiquetas <SCRIPT> y </SCRIPT> son ignoradas y se presenta el
código script en pantalla al entender que se trata de texto. La solución pasa por englobarel código
JavaScript con la etiqueta HTML encargada de introducir comentarios, de esta manera los navegadores
que no soportan JavaScript interpretarán el código script como un comentario.
Ejemplo:
<HTML>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--Aqui camuflamos el Script para navegadores antiguos
document.write("Esta de suerte, su navegador soporta JavaScript")
fin del camuflaje-->
</SCRIPT>
<NOSCRIPT>
Su navegador no soporta JavaScript.
</NOSCRIPT>
</BODY>
</HTML>
PRIMEROS PASOS
Introducir comentarios
<SCRIPT>
//Comentario de una sola linea, la siguiente se ejecuta
document.write("Bienvenidos a JavaScript")
//Nuevamente un comentario de una sola linea
//*****************************
//Comentarios, Comentarios
//*****************************
/*Esta es otra forma de introducir comentarios
pero utilizando muchas lineas, incluso cosas como document.write("hola"),
son vistas como comentarios
*/
</SCRIPT>
Corchetes
Los corchetes se utilizan para definir fragmentos de código de manera que éstos no se junten
con el resto del programa.
Todo el código que ejecuta una función debe ir bien diferenciado del resto mediante corchetes.
El punto y coma sirven para separar sentencias que se encuentran en una misma línea.
También puede indicar el final de una sentencia que ocupa varias líneas.
Ejemplo:
http://www.pacoarce.com 41
JavaScript
__________________________________________________________________________________
<SCRIPT>
var texto="FAQ(Frequently Asked Questions, Documentos de Preguntas Frecuentes)
Documentos recopilatorios para usuarios principiantes, que contienen las preguntas mas
Frecuentes sobre un tema determinado. Son las mejor forma de comenzar a aprender
cosas sobre Internet.";
</SCRIPT>
Tratamiento de
variables
3
Objetivos de la unidad
http://www.pacoarce.com 43
JavaScript
__________________________________________________________________________________
CAPITULO 3
TRATAMIENTO DE VARIABLES
Todos los lenguajes de programación necesitan en algún momento cargar en memoria los datos
que se van a procesar. Las variables son fundamentales.
LAS VARIABLES
JavaScript admite prácticamente cualquier tipo de nombre para definir una variable, no
obstante, hay una serie de consideraciones que se deben tener presentes:
§ El primer carácter debe ser siempr una letra o el guión de subrayado ( _ ). Los restantes
caracteres pueden ser letras, números o el guión de subrayado, teniendo como precaución no
dejar espacios entre ellos.
§ El nombre de la variable no debe coincidir las palabras reservadas de JavaScript.
§ JavaScript diferencia entre mayúsculas y minúsculas.
Para declarar variables se utiliza la palabra clave var seguida del nombre de la variable. Las
siguientes variables serán reconocidas como tales por JavaScript.
var nombre;
var dirección;
var entrada_valor_concreto;
var variable_numero_12;
Ahora se muestran otra variables que no serán reconocidas por JavaScript al no cumplir
algunas de las reglas de definición vistas anteriormente.
var 1dato;
var entrada datos;
var while;
var new;
Se recomienda utilizar siempre la misma pauta para definir los nombres de las variables. Se
puede escribir en minúsculas, o bien la primera mayúscula y las demás minúsculas.
Aunque las siguientes variables parezcan iguales, JavaScript las interpretará como diferentes.
TIPOS DE VARIABLES
JavaScript puede manejar tres tipos de datos distintos decidiendo por nosotros el tipo de
variable que deberá emplear durante la ejecución del script.
§ Variables de cadena
§ Variables numéricas
§ Variables booleanas
Un cuarto tipo podrían se los datos Nulos (null). Estos se utilizan para comprobar si a una variable
se le ha asignado un valor o no. Null representa un valor nulo para cualquier tipo de variable; por el
contrario, una variable que no ha sido inicializada tiene un valor undefined.
VARIABLES DE CADENA
Una variable de cadena es aquella que contiene texto. Las cadenas de texto en JavaScript se
delimitan mediante comillas dobles o simples y pueden contener cualquier tipo de carácter. También
pueden tener un valor nulo.
Ejemplo:
var pais=”España”;
var entrada_codigo;
entrada_codigo=”79201957”;
var valor=” ”;
Las comillas simples serán utilizadas dentro de fragmentos de código delimitados por comillas
dobles o viceversa.
Ejemplo:
http://www.pacoarce.com 45
JavaScript
__________________________________________________________________________________
Hay una serie de caracteres que permiten representar funciones especiales, como podría ser un
salto de línea en un texto o, por ejemplo, las comillas. A continuación se presenta una lista:
§ \b carácter anterior
§ \f salto de página
§ \n salto de línea
§ \r retorno de carro
§ \t tabulador
§ \\ carácter
§ \‘ comilla simple
§ \“ comilla doble
<HTML>
<HEAD>
<TITLE>Ejemplo de Cadena de texto</TITLE>
<SCRIPT LANGUAJE="JavaScript">
var cadena1="Esto es una cadena de texto que no utiliza ningun caracter especial";
var cadena2="Esto es una cadena \nde texto que si utiliza \ncaracateres especiales";
alert (cadena1);
alert (cadena2);
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>
VARIABLES NUMÉRICAS
Las variables numéricas son aquellas que contienen números enteros o de coma flotante.
Enteros
var numero;
numero = 100;
numero = -1000;
var numero_octal;
numero_octal = 03254;
numero_octal = 02;
Para un valor hexadecimal deberemos anteponer al número el prefijo 0x. Los números en
hexadecimal incluyen los dígitos del 0 al 9 y las letras comprendidas entre la A y la F ambas inclusive.
var numero_hex;
numero_hex = 0xff;
numero_hex = 0x12f;
Coma flotante
var numero_coma_flotante;
numero_coma_flotante=10.236;
numero_coma_flotante=43.433e+2;
numero_coma_flotante= -56.25;
VARIABLES BOOLEANAS
Las variables booleanas o lógicas se especifican mediante los valores verdadero (true) o falso
(false).
var estoy_contento;
estoy_contento=false;
estoy_contento=true;
http://www.pacoarce.com 47
JavaScript
__________________________________________________________________________________
Las variables pueden ser globales y locales según el lugar en que se hayan definido. Las
primeras pueden usarse en cualquier parte del código, mientras que las segundas sólo pueden hacerlo
dentro de la función que las define.
Ejemplo:
<SCRIPT LANGUAJE="JavaScript">
//Definicion de variable global
var variable1="Esta cadena de texto se ha definido FUERA de una funcion. Es global";
//Definicion de una variable local
function ejemplo()
{
var variable2="Esta cadena de texto se ha definido DENTRO de una funcion. Es local";
document.write(variable2);
}
Si se intenta utilizar una variable local en un ámbito global, JavaScript dará un mensaje de error
diciendo que la variable no está definida.
PALABRAS RESERVADAS
Los operadores
4
Objetivos de la unidad
http://www.pacoarce.com 49
JavaScript
__________________________________________________________________________________
CAPÍTULO 4
LOS OPERADORES
TIPOS DE OPERADORES
§ Operadores aritméticos
§ Operadores lógicos
§ Operadores de comparación
§ Operadores condicionales
§ Operadores bit a bit
§ Operadores de asignación
OPERADORES ARITMÉTICOS
Los operadores aritméticos son los encargados de realizar las operaciones básicas como sumar,
restar, multiplicar y dividir.
§ Suma (+)
§ Resta (-)
§ Multiplicación (*)
§ División (/)
§ Módulo (%). Resto de la división.
§ Incremento, Preincremento, Posincremento (++)
§ Decremento, Predecremento, Posdecremento (--)
§ Negación (!)
Ejemplo:
<HTML>
<BODY>
<SCRIPT LANGUAJE="JavaScript">
var valor1, valor2, valor3;
var suma, resta, multiplicacion, division, resto_division, varios;
Las variables valor1, valor2, valor3 son las encargadas de contener los números con los que se
van a realizar las operaciones aritméticas básicas. Los resultados de dichas operaciones aritméticas
básicas. Los resultados de dichas operaciones se guardan en una variable a la que se le ha dado el
mismo nombre que el operador utilizado. Así pues, la variable que contiene el resultado de sumar dos
números se llama suma, y el resultado de la sustracción se almacena en resta y así sucesivamente.
Otro tipo de operadores aritméticos son los incrementales o decrementales, que se aplican antes
o después del operando.
OPERADORES LÓGICOS
http://www.pacoarce.com 51
JavaScript
__________________________________________________________________________________
Los operadores lógicos o booleanos se emplean para que un programa tome una decisión en
función de un cálculo lógico. Los valores que se obtienen son true o false.
§ && Suma lógica (Y o And). Este operador devuelve un valor true cuando las dos condiciones
comparadas se cumplen. En el supuesto de que una de ellas sea false, el resultado será siempre
false.
§ || Producto lógico (O u Or). Este operador devuelve true siempre que una de las dos
condiciones sea verdadera. En caso contrario devuelve false.
§ ! Negación (No o Not). Este operador devuelve siempre el valor contrario, es decir, si la
condición o variable es true devuelve false y viceversa.
OPERADORES DE COMPARACIÓN
Los operadores de comparación son similares a los lógicos, solo que estos no tiene porque ser
booleanos. Son los clásicos mayor que, menor que.
Operadores disponibles:
OPERADORES CONDICIONALES
Ejemplo:
Si la variable nombre es Juan, el resultado “Me llamo Juan”. En caso contrario el resultado es
“Tu no eres Juan”.
OPERADORES DE ASIGNACIÓN
Un operador de asignación se utiliza para asignar un valor a una variable. Veamos cuáles son,
y su sintaxis.
TABLA DE OPERADORES
Se relacionan a continuación los operadores soportados por JavaScript, así como un pequeño
ejemplo de utilización.
http://www.pacoarce.com 53
JavaScript
__________________________________________________________________________________
-- -- valor1 Predecremento
-- valor1 -- Posdecremento
- - valor1 Negación
Lógicos
&& valor1 && valor2 AND lógico
|| valor1 || valor2 OR lógico
! ! valor1 NOT lógico
Comparación
== valor1 == valor2 Igualdad
!= valor1 != valor2 Distinto de
< valor1 < valor2 Menor que
<= valor1 <= valor2 Menor o igual que
> valor1 >= valor2 Mayor que
>= valor1 >= valor2 Mayor o igual que
Bit a bit
& valor1 & valor2 AND de bits
| valor1 | valor2 OR de bits
^ valor1 ^ valor2 XOR de bits
>> valor1 >> valor2 Shift a la derecha
<< valor1 << valor2 Shift a la izquierda
>>> valor1 >>> valor2 Shift sin signo
Condicionales
?: (condición)? Condicional
valor1 : valor2
Asignación
+= valor1 += valor2 valor1=valor1+valor2
-= valor1 -= valor2 valor1=valor1-valor2
*= valor1 *= valor2 valor1=valor1*valor2
/= valor1 /= valor2 valor1=valor1/valor2
%= valor1 %= valor2 valor1=valor1%valor2
EL OPERADOR typeof
El operador typeof devuelve una cadena que describe el tipo de operando. Así pues, podremos
saber si el operando es una cadena, una variable, método, etc. Su funcionamiento es sencillo, basta
con escribir a continuación de typeof la variable o elemento.
<SCRIPT LANGUAJE="JavaScript">
var variable=¨Pepe¨;
var numero=1;
var fecha=new Date();
document.write(typeof variable + ¨<BR>¨);
document.write(typeof numero + ¨<BR>¨);
document.write(typeof fecha + ¨<BR>¨);
El resultado es:
variable = string
numero = number
fecha = object
http://www.pacoarce.com 55
JavaScript
__________________________________________________________________________________
Los operadores
4
Objetivos de la unidad
CAPÍTULO 4
LOS OPERADORES
TIPOS DE OPERADORES
§ Operadores aritméticos
§ Operadores lógicos
§ Operadores de comparación
§ Operadores condicionales
§ Operadores bit a bit
§ Operadores de asignación
OPERADORES ARITMÉTICOS
Los operadores aritméticos son los encargados de realizar las operaciones básicas como sumar,
restar, multiplicar y dividir.
§ Suma (+)
§ Resta (-)
§ Multiplicación (*)
§ División (/)
§ Módulo (%). Resto de la división.
§ Incremento, Preincremento, Posincremento (++)
§ Decremento, Predecremento, Posdecremento (--)
§ Negación (!)
Ejemplo:
<HTML>
<BODY>
<SCRIPT LANGUAJE="JavaScript">
var valor1, valor2, valor3;
var suma, resta, multiplicacion, division, resto_division, varios;
http://www.pacoarce.com 57
JavaScript
__________________________________________________________________________________
valor1=50;
valor2=10;
valor3=20;
suma=valor1+valor2;
resta=valor1-valor2;
multiplicacion=valor1*valor2;
division=valor1/valor2;
resto_division=valor1%valor2
varios=(valor1+valor3)*valor2;
document.write("El resultado de la suma es"+suma+"<BR>");
document.write("El resultado de la resta es"+resta+"<BR>");
document.write("El resultado de la multiplicacion es"+multiplicacion+"<BR>");
document.write("El resultado de la division es"+division+"<BR>");
document.write("El resto de la division es"+resto_division+"<BR>");
document.write("El resultado de la variable varios es"+varios+"<BR>");
</SCRIPT>
</BODY>
</HTML>
Las variables valor1, valor2, valor3 son las encargadas de contener los números con los que se
van a realizar las operaciones aritméticas básicas. Los resultados de dichas operaciones aritméticas
básicas. Los resultados de dichas operaciones se guardan en una variable a la que se le ha dado el
mismo nombre que el operador utilizado. Así pues, la variable que contiene el resultado de sumar dos
números se llama suma, y el resultado de la sustracción se almacena en resta y así sucesivamente.
Otro tipo de operadores aritméticos son los incrementales o decrementales, que se aplican antes
o después del operando.
OPERADORES LÓGICOS
§ && Suma lógica (Y o And). Este operador devuelve un valor true cuando las dos condiciones
comparadas se cumplen. En el supuesto de que una de ellas sea false, el resultado será siempre
false.
§ || Producto lógico (O u Or). Este operador devuelve true siempre que una de las dos
condiciones sea verdadera. En caso contrario devuelve false.
§ ! Negación (No o Not). Este operador devuelve siempre el valor contrario, es decir, si la
condición o variable es true devuelve false y viceversa.
OPERADORES DE COMPARACIÓN
Los operadores de comparación son similares a los lógicos, solo que estos no tiene porque ser
booleanos. Son los clásicos mayor que, menor que.
Operadores disponibles:
http://www.pacoarce.com 59
JavaScript
__________________________________________________________________________________
OPERADORES CONDICIONALES
Ejemplo:
Si la variable nombre es Juan, el resultado “Me llamo Juan”. En caso contrario el resultado es
“Tu no eres Juan”.
OPERADORES DE ASIGNACIÓN
Un operador de asignación se utiliza para asignar un valor a una variable. Veamos cuáles son,
y su sintaxis.
TABLA DE OPERADORES
Se relacionan a continuación los operadores soportados por JavaScript, así como un pequeño
ejemplo de utilización.
EL OPERADOR typeof
El operador typeof devuelve una cadena que describe el tipo de operando. Así pues, podremos
saber si el operando es una cadena, una variable, método, etc. Su funcionamiento es sencillo, basta
con escribir a continuación de typeof la variable o elemento.
<SCRIPT LANGUAJE="JavaScript">
var variable=¨Pepe¨;
var numero=1;
var fecha=new Date();
document.write(typeof variable + ¨<BR>¨);
document.write(typeof numero + ¨<BR>¨);
document.write(typeof fecha + ¨<BR>¨);
http://www.pacoarce.com 61
JavaScript
__________________________________________________________________________________
</SCRIPT>
El resultado es:
variable = string
numero = number
fecha = object
Objetos,
funciones y
métodos
6
Objetivos de la unidad
http://www.pacoarce.com 63
JavaScript
__________________________________________________________________________________
CAPÍTULO 6
Los objetos, las funciones y los métodos van a permitir realizar tareas mucho más impactantes
de las que realmente se han visto hasta ahora.
LOS OBJETOS
Propiedades de un objeto
Un objeto en JavaScript tiene una serie de propiedades asociadas a él. Para acceder a dichas
propiedades utilizaremos la notación punto.
Objeto.propiedad
Ejemplo: Imaginemos un objeto llamado computadora, con las propiedades marca, cpu y
memoria.
computadora.marca=”HP”;
computadora.cpu=”pentium150”;
computadora.memoria=”64mb”;
LAS FUNCIONES
Las funciones son uno de los pilares en los que se basa JavaScript. Una función es un conjunto
de sentencias JavaScript que realizan alguna tarea específica. Las partes que definen una función son:
§ El nombre de la función.
§ La lista de argumentos de la función, encerrados entre paréntesis y separados por comas(“,”)
§ Las sentencias en JavaScript que definen la función, encerradas entre llaves({,});
Ejemplo: Se define una función llamada saludo que será posteriormente llamada para mostrar la
cadena de texto especificada.
<HTML>
<HEAD>
<TITLE>Ejemplo de funciones</TITLE>
<SCRIPT LANGUAJE="JavaScript">
function saludo()
{
document.write("Hola amigos, esto es un saludo");
}
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAJE=JavaScript>
saludo();
</SCRIPT>
</BODY>
</HTML>
Para que una función devuelva el resultado de una serie de operaciones procedentes de la
misma función, utilizaremos la instrucción return.
<HTML>
<HEAD>
<TITLE>Ejemplo de funciones</TITLE>
<SCRIPT LANGUAJE="JavaScript">
function mitad(valor)
{
return valor/2;
http://www.pacoarce.com 65
JavaScript
__________________________________________________________________________________
}
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAJE=JavaScript>
document.write("La mitad de 100 es"+mitad(100));
</SCRIPT>
</BODY>
</HTML>
Argumentos de la función
Los argumentos de una función permiten que el resultado varíe según el valor indicado de la
misma. Estos pueden ser variables, números u objetos.
<HTML>
<HEAD>
<TITLE>Ejemplo de funciones</TITLE>
<SCRIPT LANGUAJE="JavaScript">
function Mensaje(Respuesta)
{
if(Respuesta==0) alert("La respuesta es correcta");
if(Respuesta==2) alert("La respuesta es incorrecta. Repasa la leccion 10");
if(Respuesta==1) alert("Vaya disparate. Debes repetir curso");
if(Respuesta>=3) alert("Respuesta fuera de rango");
}
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAJE=JavaScript>
Mensaje(0);
Mensaje(1);
Mensaje(2);
Mensaje(5);
</SCRIPT>
</BODY>
</HTML>
Un método es una función asociada a un objeto y particular a los objetos del tipo que las
define. Así pues, un método es una acción que ejecutamos sobre los datos de un objeto.
Los métodos se definen en el mismo sitio que las funciones y de la misma manera,
asociándolas posteriormente a un objeto ya existente.
Objeto.nombreMetodo=nombreFuncion
Objeto.nombreMetodo(parametro1,parametro2..)
Creación de Objetos
JavaScript dispone de una serie de objetos predefinidos, pero también podemos crear nuestro
propios objetos según sea necesario.
Para definir un tipo de objeto, deberemos especificar el nombre de la función, sus propiedades y
métodos.
function nombreTipoObjeto(propiedad1,propiedad2,…)
{
this.propiedad1=propiedad1
this.propiedad2=propiedad2
…
}
La palabra reservada this se utiliza para hacer referencia al objeto actual. La usaremos
generalmente cuando pasamos objetos como parámetros a funciones y dentro de éstas para acceder a
las propiedades de los objetos.
Ejemplo: Definamos una función llamada Computador con tres propiedades: marca, cpu y memoria.
http://www.pacoarce.com 67
JavaScript
__________________________________________________________________________________
function Computadora(marca,cpu,memoria)
{
this.marca=marca;
this.cpu=cpu;
this.memoria=memoria;
}
Recuerde que pueden crearse tantas instancias de un tipo como sean necesarias.
miComputadora=new Computadora(“HP”,”Pentium150”,”64Mb”)
miComputadora_Dos=new Computadora(“Philips”,”Pentium200”,”64Mb”)
miComputadora_Tres=new Computadora(“Acer”,”Pentium133”,”164Mb”)
<HEAD>
<TITLE>Ejemplo de creacion de Objetos</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAJE="JavaScript">
function Computador(marca,cpu,memoria)
{
this.marca=marca;
this.cpu=cpu;
this.memoria=memoria;
}
miComputador=new Computador("HP","Pentium150","64Mb")
miComputador_Dos=new Computador("Philips","Pentium200","64Mb")
miComputador_Tres=new Computador("Acer","Pentium133","16Mb")
var mensaje;
mensaje="miComputador\nmarca:"+miComputador.marca+"\n"
+"cpu:"+miComputador.cpu+"\n"
+"memoria:"+miComputador.memoria+"\n";
alert(mensaje);
mensaje="miComputador_Dos\nmarca:"+miComputador_Dos.marca+"\n"
+"cpu:"+miComputador_Dos.cpu+"\n"
mensaje="miComputador_Tres\nmarca:"+miComputador_Tres.marca+"\n"
+"cpu:"+miComputador_Tres.cpu+"\n"
+"memoria:"+miComputador_Tres.memoria+"\n";
alert(mensaje);
</SCRIPT>
</BODY>
</HTML>
http://www.pacoarce.com 69
JavaScript
__________________________________________________________________________________
Objetos y
funciones
predefinidas
7
Objetivos de la unidad
CAPÍTULO 7
EL OBJETO String ( )
El objeto String ofrece distintas formas de manejar cadenas de texto. Siempre que se asigne un
String una variable o propiedad, se crea un objeto de tipo String.
En este caso, al definir una variable con una cadena de texto ya estamos utilizando un objeto
String, es decir, no será necesaria si declaración.
var cadenaTexto;
cadenaTexto=”Aquí esta la cadena de texto”;
Los objetos de tipo String disponen de una serie de métodos que permiten modificar y devolver
el valor de la cadena de texto.
http://www.pacoarce.com 71
JavaScript
__________________________________________________________________________________
<HTML>
<HEAD>
<TITLE>Ejemplo del objeto String</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAJE="JavaScript">
var cadena;
</SCRIPT>
</BODY>
</HTML>
Los objetos String() disponen de las propiedades length, que determina el número de
caracteres de la cadena, y prototype, que permite añadir nuevas propiedades y métodos (más adelante
serán tratadas).
EL OBJETO Math ( )
Ejemplo:
<HTML>
<HEAD>
<TITLE>Ejemplo del objeto Math( )</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAJE="JavaScript">
var valorPi;
valorPI=Math.PI;
document.write("La variable Pi tiene como valor:"+valorPI);
</SCRIPT>
</BODY>
</HTML>
A continuación, relacionaremos los métodos, que son los elementos que nos permiten realizar
operaciones.
http://www.pacoarce.com 73
JavaScript
__________________________________________________________________________________
§ min(x,y) Devuelve x o y, en función de cuál de los dos es menor.
§ pow(x,y) Calcula la potencia de dos números.
§ random() Genera un número entero más cercano.
§ round(n) Redondea al número entero más cercano.
§ sin(n) Calcula el seno de un número n.
§ sqrt(n) Calcula la raíz cuadrada de un número n.
§ tan(n) Calcula la tangente de un número n.
Es recomendable utilizar la sentencia with cuando se desean realizar varios cálculos matemáticos
seguidos para no tener que poner Math en cada referencia.
<HTML>
<HEAD>
<TITLE>Ejemplo del objeto Math</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAJE="JavaScript">
var valorPi;
valorPI=Math.PI;
document.write("La varibale Pi tiene como valor."+valorPI+"<BR>");
valorPI=Math.ceil(valorPI);
document.write("La variable Pi redondeada mediante ceil tiene como valor:"+valorPI);
</SCRIPT>
</BODY>
</HTML>
EL OBJETO Date( )
El objeto Date permite trabajar con horas y fechas. JavaScript maneja las fechas en
milisegundos desde 1/1/1970 a las 00:00:00 horas. Por lo que no se puede trabajar con fechas
anteriores.
En la representación de los meses para valores enteros JavaScript comienza a contar desde 0,
por lo tanto, enero será el mes 0 y diciembre el mes11. Los días de la semana se cuentan empezando
por 0 para el domingo, 1 el lunes y así sucesivamente.
Para crear una variable de fecha se debe establecer un nombre para la instancia del objeto y su
respectivos parámetros.
El objeto Date posee muchos métodos para manejar fechas y horas, así pues, veamos dichos
métodos:
Los métodos set los utilizaremos para fijar la fecha y la hora, los métodos get para obtener fechas
y horas, to para obtener dichos valores como cadenas y parse para convertir cadenas que tengan
fechas y horas.
<HTML>
<HEAD>
<TITLE>Ejemplo del objeto Date</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAJE="JavaScript">
fecha=new Date;
dia=fecha.getDay();
if(dia==0){
http://www.pacoarce.com 75
JavaScript
__________________________________________________________________________________
document.write("Hoy es Domingo");
}
if(dia==1){
document.write("Hoy es Lunes");
}
if(dia==2){
document.write("Hoy es Martes");
}
if(dia==3){
document.write("Hoy es Miercoles");
}
if(dia==4){
document.write("Hoy es Jueves");
}
if(dia==5){
document.write("Hoy es Viernes");
}
if(dia==6){
document.write("Hoy es Sabado");
}
</SCRIPT>
</BODY>
</HTML>
EL OBJETO Array()
Una técnica importante de programación es el uso de los arrays, arreglos o vectores. Una
matriz es un conjunto de datos de un mismo tipo identificados por un índice.
OpenAustralia=new Array();
OpenAustralia[0]=”Sergi Bruguera”;
OpenAustralia[1]=”Alex Corretja”;
OpenAustralia[2]=”Felix Mantilla”;
OpenAustralia[3]=”Peter Sampras”;
OpenAustralia[4]=”Gustavo Kuerten”;
Para arreglos mayores hay una propiedad del objeto Array() llamada length, que facilita el
número de elementos disponibles en la matriz.
document.write(“Tengo”+OpenAustralia.length+”elementos en mi matriz.”);
§ join() Método encargado de agrupar todos los elementos en una cadena de caracteres,
separados por comas.
§ reverse() Este método invierte el orden de colocación de los elementos. El primero pasa a ser
el último y viceversa.
§ sort() Este método devuelve de manera ordenada los elementos de la matriz.
JavaScript no permite eliminar de manera directa elementos de una matriz, sin embargo, se le
puede dar un valor nulo al elemento. Mostraremos distintas sintaxis para eliminar los elementos 3 y 4
de la matriz.
OpenAustralia[3]=””;
OpenAustralia[4]=null;
<HTML>
<HEAD>
<TITLE>Ejemplo del objeto Array</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAJE="JavaScript">
OpenAustralia=new Array();
OpenAustralia[0]="Sergi Bruguera";
OpenAustralia[1]="Alex Corretja";
OpenAustralia[2]="Feliz Mantilla";
OpenAustralia[3]="Peter Sampras";
OpenAustralia[4]="Gustavo Kuerten";
document.write("Tengo "+OpenAustralia.length+" elementos en mi matriz."+"<BR>");
document.write("Aqui estan relacionados"+"<BR>"+OpenAustralia.join()+"<BR>");
document.write("Ahora al reves"+"<BR>"+OpenAustralia.reverse().join()+"<BR>");
document.write("Ahora ordenados alfabeticamente"+"<BR>"+OpenAustralia.sort().join()+"<BR>");
document.write("Ahora ordenados alfabeticamente y al
reves"+"<BR>"+OpenAustralia.sort().reverse().join()+"<BR>");
</SCRIPT>
</BODY>
</HTML>
http://www.pacoarce.com 77
JavaScript
__________________________________________________________________________________
EL OBJETO Boolean()
Su sintaxis es la siguiente:
nuevoObjeto=new Boolean(valor)
Las reglas elementales para utilizar este tipo de objeto son las siguientes:
§ Cuando se crea un objeto sin proporcionar datos, el nuevo objeto toma el valor de false.
§ Cuando se facilita el valor true o cualquier otro texto entre comillado, el resultado del nuevo
objeto es siempre true.
§ El nuevo objeto contendrá false si se proporciona un valor 0, false sin comillas o una cadena de
texto vacía.
Ejemplo de aplicación:
<HTML>
<HEAD>
<TITLE>Ejemplo de objeto Boolean()</TITLE>
<SCRIPT LANGUAJE="JavaScript">
var objeto1,objeto2,objeto3,objeto4;
objeto1=new Boolean();
objeto2=new Boolean(false);
objeto3=new Boolean(true);
objeto4=new Boolean("texto");
document.write("El valor booleano de objeto 1 es "+ objeto1 +"<BR>");
document.write("El valor booleano de objeto 2 es "+ objeto2 +"<BR>");
document.write("El valor booleano de objeto 3 es "+ objeto3 +"<BR>");
document.write("El valor booleano de objeto 4 es "+ objeto4 +"<BR>");
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>
LA FUNCIÓN eval()
La función eval() toma una cadena que puede contener cualquier expresión de JavaScript. Así
pues, su valor podría ser una cadena representando una expresión JavaScript, una sentencia o una
secuencia de sentencias. Esta función puede contener variables y propiedades de objetos ya existentes.
Esta función es útil cuando se trabaja con formularios, ya que los valores introducidos en un
formulario son siempre cadenas o valores numéricos.
var numero_x=10
var numero_y=20
document.write(eval(“numero_x+numero_y”))
<HTML>
<BODY>
<SCRIPT LANGUAJE="JavaScript">
var resultadoParseint, resultadoParsefloat;
var numero_int="1500.230";
var numero_float="+126.256";
resultadoParseint=parseInt(numero_int,10);
resultadoParsefloat=parseFloat(numero_float);
document.write(resultadoParseint+"<BR>");
document.write(resultadoParsefloat);
</SCRIPT>
</BODY>
</HTML>
http://www.pacoarce.com 79
JavaScript
__________________________________________________________________________________
LA FUNCIÓN escape
Ejemplo:
<HTML>
<BODY>
<SCRIPT LANGUAJE="JavaScript">
document.write(escape("abcdefghi")+"<BR>");
document.write(escape("!.$%&/()=?¿")+"<BR>");
document.write(escape("123456789")+"<BR>");
</SCRIPT>
</BODY>
</HTML>
Figura 7.3. Detalle de los códigos ASCII obtenidos mediante la utilización de la función escape. Los
códigos ASCII de cada carácter van precedidos del símbolo %.
LA FUNCIÓN unescape
<HTML>
<BODY>
<SCRIPT LANGUAJE="JavaScript">
document.write(unescape("abcdefghi")+"<BR>");
document.write(unescape("%21%B7%24%25%26%28%29%3D%3F%BF")+"<BR>");
document.write(unescape("123456789")+"<BR>");
</SCRIPT>
</BODY>
</HTML>
Objetos del
navegador 8
Objetivos de la unidad
http://www.pacoarce.com 81
JavaScript
__________________________________________________________________________________
En este capítulo, veremos de manera superficial las características más relevantes de los
objetos del navegador JavaScript.
Cuando se carga una página en un navegador, se crea un número de objetos característicos del
navegador según el contenido de dicha página. A continuación veremos los objetos y propiedades que
tiene un documento:
Los objetos en el navegador se rigen por una jerarquía que refleja la estructura de los
docmentos HTML. Según esto, el objeto window que es el de más alto nivel, tendría a un objeto
location como descendiente.
document.miformulario
Como norma general para referenciar una propiedad específica de un objeto para referenciar
una propiedad específica de un objeto se deberá incluir el objeto y todos sus antecesores teniendo en
cuenta que el objeto window no es necesario incluirlo a no se que se esté trabajado con frames.
§ window
o parent, frames, self, top
o history
o location
o document
§ links
§ anchor
§ form
• Todos sus elementos
http://www.pacoarce.com 83
JavaScript
__________________________________________________________________________________
EL OBJETO window
El objeto window posee una serie de propiedades que determinan características básicas de la
ventana y sus componentes. A continuación las propiedades mas elementales:
Ejemplo: Diseñaremos un programa que muestre siempre un texto en la barra de estado y que oculte la
dirección real de un enlace al pasar el cursor del ratón sobre el.
<HTML>
<HEAD>
<TITLE>Ejemplo de objeto window</TITLE>
</HEAD>
<BODY onload="window.defaultStatus='Curso basico de JavaScript';">
<A HREF="http://www.enlace.com/"
onMouseOver="window.status='Estas encima del enlace';return true">
pasa por encima mio.</A>
</BODY>
</HTML>
El objeto window también posee una serie de métodos que permiten ejecutar funciones
específicas con las ventanas, como por ejemplo crear ventanas y cuadros de diálogo.
También podemos determinar el aspecto que tendría la nueva ventana del navegador mediante una
serie de componentes que permiten configurar el menú, la barra de herramientas, la barra de estado,
etc. Las opciones son:
Para abrir una ventana utilizando los métodos y opciones anteriores, deberemos aplicar la siguiente
sintaxis:
variableVentana=
nombreventana.open(“URL”,”NombreVentana”,”OpcionesVentana”)
<HTML>
<HEAD>
<TITLE>Ejemplo de ABRIR y CERRAR una ventana</TITLE>
<SCRIPT LANGUAJE="JavaScript">
function AbrirVentana()
{
Ventana=open("","nueva","toolbar=no,directories=no,menubar=no,width=180,height=160");
Ventana.document.wrtie("<HEAD><TITLE>Ventana Nueva</TITLE></HEAD><BODY>");
Ventana.document.write("<FONT SIZE=4 COLOR=blue>VENTANA NUEVA</FONT><BR>");
Ventana.document.write("<FORM><INPUT TYPE='button' VALUE = 'Cerrar'onClick='self.close()'> </FORM>");
}
</SCRIPT>
</HEAD>
<BODY>
<FORM>
http://www.pacoarce.com 85
JavaScript
__________________________________________________________________________________
<INPUT TYPE="button" VALUE="Abrir una ventana"
onClick="AbrirVentana();"><BR>
</FORM>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE>Ejemplo de ABRIR y CERRAR una ventana</TITLE>
<SCRIPT LANGUAJE="JavaScript">
function Pregunta(){
var EntradaDatosPregunta=prompt("Intoduce tu nombre, por favor","en minusculas,gracias");
if(confirm("Estas conforme con el nombre introducido"+EntradaDatosPregunta+"?"))
{
alert("De acuerdo, escribiste"+EntradaDatosPregunta);
} else {
alert("Bueno, pero yo creo que escribiste"+EntradaDatosPregunta);
}
}
</SCRIPT>
EL OBJETO location
La propiedad location del objeto window contiene información sobre el URL completo de un
documento actual a diferencia de la propiedad location del objeto document que se encarga de cargar
un nuevo documento.
Sintaxis:
Window.location.propiedad
http://www.pacoarce.com 87
JavaScript
__________________________________________________________________________________
EL OBJETO document
También podemos trabajar con algunos de sus métodos para controlar el proceso de abrir y cerrar un
documento.
EL OBJETO history
Este objeto contiene información sobre los enlaces que el usuario ha visitado. Su utilidad más
aparente es la de generar botones de avance y retroceso.
Los eventos
9
Objetivos de la unidad
http://www.pacoarce.com 89
JavaScript
__________________________________________________________________________________
CAPÍTULO 9
Se llama evento a un suceso que ocurre en el sistema cuando un usuario ejecuta algún tipo de
acción. Un evento debe asociarse a un elemento HTML, no a un código JavaScript.
<HTML>
<HEAD><TITLE>Ejemplo de evento</TITLE>
</HEAD>
<BODY>
<FORM><INPUT TYPE="button" VALUE="Pulsa" onClick="alert('Has pulsado el
boton');"></FORM>
</BODY>
</HTML>
Este evento se produce cuando el usuario efectúa un clic con el botón izquierdo del ratón sobre
algún elemento de un formulario o un enlace.
El tipo de elemento puede ser un botón, una caja de comprobación o un botón de reset por
ejemplo, mientras que la función es la instrucción o instrucciones a procesar cuando se produzca el
evento.
<HTML>
<HEAD>
<TITLE>Ejemplo de evento onClick</TITLE>
</HEAD>
<BODY>
<FORM>
<INPUT TYPE="button" VALUE="Pulsa este boton" onClick="alert('Ok boton pulsado');">
</FORM>
</BODY>
</HTML>
El evento onMouseOver sucede cada vez que el cursor del ratón para por encima de un
elemento de la página, mientras que el evento onMouseOut sucede cuando se deja de seleccionar este
elemento.
http://www.pacoarce.com 91
JavaScript
__________________________________________________________________________________
<HTML>
<HEAD>
<TITLE>Ejemplo de evento onMouseOver y onMouseOut</TITLE>
</HEAD>
<BODY>
<A HREF="enlace" onMouseOver="alert('Has pasado por encima del
enlace');">Pasa por encima mio.</A>
<BR><BR><BR><BR><BR><BR>
<A HREF="enlace"onMouseOut="alert('Estas alejandote del enlace');">Acercate y luego
vete poco a poco.</A>
</BODY>
</HTML>
El evento onLoad es aquel que se produce cuando un navegador carga un documento HTML o
una imagen. Este evento se utilizará dentro de la etiqueta <BODY> del documento HTML o dentro
de la etiqueta <FRAMESET> en el supuesto de estar trabajando con frames.
La sintaxis es:
<HTML>
<HEAD>
<TITLE>Ejemplo de evento onLoad</TITLE>
</HEAD>
<BODY onLoad="alert('Acabas de entrar en el web mas interesante de la RED');”
EL EVENTO onChange
Para que el evento funcione, el usuario tiene que cambiar de elemento en el formulario, es
decir, si estamos introduciendo datos en una casilla de texto, el evento onChange no se activará hasta
que no pasemos a otra casilla.
La sintaxis es la siguiente:
Sin duda es una interesante opción para validar la entrada de datos en los formularios.
<HTML>
<HEAD>
<TITLE>Ejemplo de evento onChange</TITLE>
</HEAD>
<BODY>
<FORM>
<CENTER><P>Mi nombre es:
<INPUT TYPE="text"NAME="apellido"onChange="alert('Esta casilla
a cambiado su contenido')"><BR>
<P>Mis apellidos son:
<INPUT TYPE="text"NAME="apellido"onChange="alert('Y ahora esta otra')"><BR>
</FORM>
</BODY>
</HTML>
EL EVENTO onSubmit
http://www.pacoarce.com 93
JavaScript
__________________________________________________________________________________
Este evento se encarga de ejecutar un determinado código de JavaScript al realizarse el envío
de un formulario.
El ejemplo más claro de utilización de este evento es evitar que un formulario sea enviado si
determinadas condiciones no son cumplidas.
Ejemplo: Vamos a diseñar un formulario que verifique que se ha introducido un número entre uno y
cien antes de proceder a enviar los datos del formulario. Si la condición no se cumple, aparecerá un
mensaje de aviso y se cancelará el envío.
<HTML>
<HEAD>
<TITLE>Ejemplo de evento onSubmit</TITLE>
<SCRIPT LANGUAJE="JavaScript">
function verificarDato()
{
var valor=document.miformulario,numero.value;
if(valor>0 && valor<100)
{
return(true);
} else {
alert("ATENCION. El valor introducido no es correcto");
return(false);
}
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="miformulario"METHOD="post"
ACTION="mailto:correo@server.com" onSubmit="verificarDato()">
<P>Introduzca un numero comprendido entre 1 y 100
<INPUT TYPE="text"NAME="numero"><BR>
<INPUT TYPE="submit" VALUE="Pulsa aqui">
</FORM>
</BODY>
</HTML>
La sintaxis es la siguiente:
Por ejemplo, podemos mostrar un mensaje cuando el usuario salga de algún elemento de un
formulario.
<HTML>
<HEAD>
<TITLE>Ejemplo de evento onFocus</TITLE>
</HEAD>
<BODY>
<FORM>
<P>Nombre:<INPUT TYPE="text"NAME="nombre"><BR>
<P>Apellidos:<INPUT TYPE="text"NAME="apellido"><BR>
<P>Queja:<TEXTAREA NAME="queja" onBlur="alert('Gracias por expresar su
opinion.\nSaludos');"></TEXTAREA>
</FORM>
</BODY>
</HTML>
La utilización del evento onFocus puede provocar un bucle infinito que bloquee La
computadora. Veamos el siguiente fragmento de script:
EL EVENTO onSelect
Este evento hace que se ejecute un script cuando se selecciona texto dentro de un elemento de
un formulario, ya sea una casilla de texto o de área de texto.
Sintaxis:
Ejemplo:
<HTML>
<HEAD>
<TITLE>Ejemplo de evento onSelect</TITLE>
</HEAD>
http://www.pacoarce.com 95
JavaScript
__________________________________________________________________________________
<BODY>
<FORM>
<TEXTAREA ROWS=3 COLS=40 onSelect="alert('Se ha seleccionado texto\nen el formulario');">
Aqui hay un poco de texto para efectuar la prueba. Seleccione con el cursor un
fragmento.</TEXTAREA>
</FORM>
</BODY>
</HTML>
EL EVENTO onAbort
El evento onAbort se produce cuando se bloquea la carda de una imagen, pulsando por
ejemplo el botón STOP.
Sintaxis:
<HTML>
<HEAD>
<TITLE>Ejemplo de evento onAbort</TITLE>
</HEAD>
<BODY>
<IMG SRC="F1 3.jpg" onAbort=”alert('ATENCION. Falta parte de la fotografia')">
</BODY>
</HTML>
EL EVENTO onReset
Sintaxis:
<INPUT TYPE="reset"onReset="funcion">
Este evento puede server, para advertir al usuarion antes de efectuar el reset del formulario.
Script:
<HTML>
<HEAD>
<TITLE>Ejemplo de evento onReset</TITLE>
<SCRIPT LANGUAJE="JavaScript">
function avisoreset(){
if(confirm("!ATENCION!. Los datos del formulario se van a borrar.")){
document.datos.reset()
}
}
</SCRIPT>
</HEAD>
<BODY>
<CENTER><FORM NAME="datos">
<P>Introduzca sus datos. Gracias.<BR>
Nombre:<INPUT TYPE="text"VALUE="Nombre"><BR>
Apellidos:<INPUT TYPE="text"VALUE="Apellidos"><BR>
Direccion:<INPUT TYPE="text"VALUE="Direccion"><BR>
Provincia:<INPUT TYPE="text"VALUE="Provincia"><BR>
<INPUT TYPE="button" VALUE="Resetar" onClick="avisoreset()">
</FORM>
</CENTER>
</BODY>
</HTML>
http://www.pacoarce.com 97
JavaScript
__________________________________________________________________________________
Estos eventos se generan cuando el usuario efectúa alguita acción con las teclas.
Ejemplo:
<HTML>
<HEAD>
<TITLE>Ejemplo de evento onkeydown</TITLE>
<SCRIPT LANGUAJE="JavaScript">
function avisoPulsacion(){
alert("Has pulsado una tecla");
}
</SCRIPT>
</HEAD>
§ onmousedown. Evento que se genera cuando el usuario pulsa un botón del ratón.
§ onmousemove. Evento que se genera cuando el usuario mueve el cursor del ratón.
§ onmouseup. Evento que se genera cuando se deja de pulsar un botón del ratón.
El evento onmove se genera cuando el usuario mueve una ventana o frame de la pantalla
principal del navegador.
Cuando un usuario modifica el tamaño de la ventana o del frame actual, se genera un evento
onresize.
<HTML>
<HEAD>
<TITLE>Ejemplo de evento onmove y onresize</TITLE>
</HEAD>
<BODY onresize="alert('La ventana esta siendo redimensionada');"
onmove="alert('La ventana se esta moviendo');">
</BODY>
</HTML>
http://www.pacoarce.com 99
JavaScript
__________________________________________________________________________________
Hojas de estilo
10
Objetivos de la unidad
Las llamadas hojas de estilo en cascada, CSS o Cascading Style Sheets abren un nuevo abanico
de posibilidades para los creadores de páginas web.
Las hojas de estilo permiten generar interesantes efectos de texto, con el consiguiente ahorro de
tiempo a la hora de cargar la página.
PRIMEROS PASOS
Una hoja de estilos se define de manera similar a los scripts de JavaScript. La definición de un
estilo está delimitada por las etiquetas <STYLE> y </STYLE> respectivamente. Así pues, la
estructura básica sería la siguiente:
<HEAD>
<STYLE TYPE="text\css">
<!--
Definicion de los estilos
//-->
</STYLE>
</HEAD>
La etiqueta <DIV> y </DIV> se utiliza para definir el estilo de una sección del documento,
mientras que <SPAN> y </SPAN> se empleará para definir el estilo de un párrafo.
DEFINICIÓN DE ESTILOS
Estilos de etiqueta
Este método consiste en especificar un estilo para una sola etiqueta HTML. Para emplear este
método, hay que añadir el atributo STYLE a dicha etiqueta.
Este método puede ser aplicado a cualquier etiqueta HTML y únicamente modifica las
propiedades de la etiqueta a la que se aplica.
http://www.pacoarce.com 101
JavaScript
__________________________________________________________________________________
Estilos genéricos
Esta otra forma de introducir estilos se caracteriza por definir un conjunto de propiedades de
estilo en la cabecera del documento.
Sintaxis:
etiqueta{propiedad:valor;propiedad:valor;...}
Ejemplo:
<HTML>
<HEAD>
<TITLE>Hojas de estilo en cascada</TITLE>
<STYLE TYPE="text/css">
H1{color:#205596}
A{color:#303030;font-style:italic}
</STYLE>
<HEAD>
<BODY>
<H1>PRIMER EJEMPLO</H1>
<A HREF="enlace">Enlace de texto</A>
</BODY>
</HTML>
El tipo de archivo en que tenemos que guardar nuestra declaración de hoja de estilo ha de ser
ASCII, con la precaución de no añadir las etiquetas HTML, HEAD y BODY.
Así pues, podríamos definir un estilo llamado EstiloPersonal, similar al que se describe a
continuación:
P.texto{color:#CC0033;text-align:justify;font-weight:bold;
font-size:12pt;font-family:Comic Sans Ms}
P.izquierda{text-align :left}
P.derecha{text-align :right}
La etiqueta CLASS, que más bien se podría considerar como un atributo, se utiliza cuando se
desea que más de una etiqueta disponga de un mismo estilo o viceversa.
La sintaxis de este método es muy sencilla, ya que sólo hay que tener en cuenta que a la hora
de definir el estilo hay que anteponer un punto al nombre que se le vaya a dar a dicho estilo.
Veamos otra forma de definir un estilo. Imaginemos que queremos uno con las siguientes
características:
§ texto centrado
§ color rojo
§ texto en negrita
§ tamaño de la fuente 12
§ tipo de fuente Comic Sans Ms
Para crear este estilo, podemos definir todas las propiedades en una etiqueta de texto tal y
como vimos anteriormente, o bien crear un estilo de párrafo personal utilizando la etiqueta <p>.
Para crear un estilo personal, habrá que anteponer un punto al nombre del estilo. Después, para
llamar al estilo se utilizará la etiqueta <P CLASS>.
La etiqueta ID
Font-family
Determina la fuente que se va a utilizar o la familia genérica.
{font-family:courier}
Font-style
Convierte el texto en cursiva. Las opciones son Italia, oblique y normal.
{font-style: italic}
Font-variant
Convierte las minúsculas en pequeñas mayúsculas. Las opciones son small caps y normal.
http://www.pacoarce.com 103
JavaScript
__________________________________________________________________________________
{font-variant: small-caps}
Font-weight
Indica el grosor de una fuente. Los valores son normal, bold, o un valor numérico.
{font-weight: 700}
{font-weight: bold}
Font-size
Determina el tamaño de la fuente. Los valores pueden ser absolutos, relativos o porcentaje.
{font-size: 100%}
{font-size: 20pt}
Font
Determina todas las propiedades anteriores en una sola. Es importante no variar el orden de
declaración. Font{dont-style font-variant font-weight font-size/line-height font-family}
{font: bold 10pt/20pt Courier}
Word-spacing
Determina el espaciado entre palabras.
{Word-spacing: 4pt}
letter-spacing
Determina el espaciado entre caracteres
{letter-spacing: 1px}
Text-decoration
Muestra el texto con distintos efectos. Pueden ser none, underline, overline, line-through y blink.
{text-decoration: underline}
Vertical-align
Determina la alineación vertical. Las opciones son sub y super.
{vertical-align: super}
Text-transform
Especifica más efectos de texto. Las opciones son capitaliza, uppercase, lowercase, none.
{text-transform: uppercase}
Text-align
Establece la alineación del texto. Las opciones son left, right, center y justify.
Text-indent
Permite establecer tabulaciones.
{text-indent: 10px}
Line-height
Determina la longitud de línea. Las opciones son normal, distancia, porcentaje o un valor numérico.
{line-height: 12pt}
{line-height: 100%}
Color
Determina el color de un elemento.
{color: red}
{color: #ff00ff}
Background-color
Determina el color del fondo de un elemento.
{background-color: white}
Background-image
Determina la imagen que va a servir de fondo.
{background-image: textura.gif}
Background-attachment
Determina si una imagen de fondo debe moverse a la par que el scroll de la página. Los valores
disponibles son scroll y fixed.
{background-attachment: scroll}
Background-position
Determina la posición de inicio del background, ya sea color o imagen. Los valores disponibles son
[posición | longitud] {1,2}, [top,center, bottom].[left, center, right].
{background-position: center center}
Background
Permite especificar las propiedades del fondo. Los valores disponibles son transparent, color, URL,
repeat, scroll y position.
{background: transparent fixed center}
http://www.pacoarce.com 105
JavaScript
__________________________________________________________________________________
Margin-top
Margin-right
Margin-bottom
Margin-left
Margin
Determina todos los márgenes del documento. Los valores pueden ser Distancia, porcentaje y auto.
{margin-top: 25px;}
Padding-top
Permita especificar el espacio superior entre el borde y el contenido de un elemento. Los valores
pueden ser distancia y porcentaje.
{padding-top: 15px}
Padding-right
Permite especificar el espacio superior entre el borde y el contenido de un elemento. Los valores
pueden ser distancia y porcentaje.
{padding-right: 30px;}
Padding-bottom
Permite especificar el espacio inferior entre el borde y el contenido de un elemento. Los valores
pueden ser distancia y porcentaje.
{padding-bottom: 2in}
Padding-left
Permite especificar el espacio izquierdo entre el borde y el contenido de un elemento. Los valores
pueden ser distancia y porcentaje.
{padding-left: 25px}
Padding
Permite especificar el espacio entre el borde y el contenido de un elemento. Los valores pueden ser
distancia y porcentaje.
{padding: 80px}
Border-top-width
Border-right-width
Border-bottom-width
Border-left-width
Border-width
Border-style
Determina el estilo de un borde. Se combina con la propiedad anterior. Los valores del estilo son
none, dotted, dashed, solid, double, gropve, ridge, inset y outset.
{border-style: dotted; border-color:blue}
Border-top
Border-right
Border-bottom
Border-left
Border
Width
Determina el ancho de un documento
{width: 50%}
Height
Determina la altura del elemento.
{height: 100px}
Float
Permite indicar si una imagen será flotante o no. Las opciones son none, left, right y both.
{float:left}
Clear
Determina los lados en los que no se podrán situar elementos flotantes. Los valores son none, left,
right y both.
{clear.right}
Propiedades de clasificación
Display
Modo de mostrar la información en un bloque. Los valores son block, inline, list-item y none.
http://www.pacoarce.com 107
JavaScript
__________________________________________________________________________________
{display: none}
White-space
Especificará cómo tratar los espacios en blanco en un elemento.
{white-space: nowrap}
{white-space: pre}
List-style-type
Se utilize para declarer el tipo de bullet de la lista. Los valores posibles son disk, circle, square,
decimal, coger-roman, upper-roman, coger.alpha, upper-alpha, none.
{list-style-type: square}
List-style-image
Se utilize para declarer una imagen como bullet de la lista.
{list-style-image: imagen.jpg}
List-style-position
Permite declarer la posición de los bullet en la pantalla. Los valores son inside y outside.
{list-style-position: outside}
List-style
Permite configurar todas las propiedades de una lista.
{list-style: circle textura.gif outer}
Propiedades de posicionamiento
Position
Determina la posición del objeto en la pantalla. Los valores pueden ser absolutos o relativos.
{position: absolute}
Height
Determina la altura de un elemento. Los valores pueden ser distancia y auto.
{height: 50px}
Width
Determina la anchura de un elemento. Los calores pueden ser distancia y auto.
{width: 80px}
Visibility
Determina si un objeto es visible o no. Los valores son visible, hidden y auto.
http://www.pacoarce.com 109