Practicas Clase JavaScript PDF
Practicas Clase JavaScript PDF
7 OBJETO DOCUMENT
3 APLICACIONES
7. EL OBJETO DOCUMENT ................................... 21
3. APLICACIONES .................................................... 10 7.1 IMÁGENES ALEATORIAS ................................ 21
3.1 CALCULAR LETRA DEL DNI .......................... 10 7.2 GALERIA DE IMÁGENES (FRAMEWORK
LIGHTBOX) ........................................................... 21
7.3 Propiedades de Imagenes ............................... 23
4 RELOJES Y FECHAS 7.4 Propiedades de Capas ...................................... 25
7.5 CAMBIAR TAMAÑO DE CAPA........................ 26
4. RELOJES Y FECHAS .......................................... 13 7.6 EFECTO PERSIANA EN CAPA ....................... 26
4.1 RELOJ SENCILLO ............................................. 13 7.7 MOSTRAR CAPA CON CARGANDO AL
4.2 CALENDARIO CSS ............................................ 14 INICIO TIPO GOOGLE ........................................ 28
7.8 ESQUEMA DESPLEGABLE (ie) ...................... 30
5 FORMULARIOS
8 COOKIES
5. FORMULARIOS .................................................... 16
5.2 FUNCIONES PARA VALIDAR CAMPOS DE 8. COOKIES................................................................ 31
TEXTO.................................................................... 17 8.1 NOTIFICADOR DE ULTIMA MODIFICACION31
2
Ejercicios realizados en Clase – Modulo JavaScript
1. CONTRASEÑAS EN JAVASCRIPT
El objetivo de este ejemplo es crear un tipico acceso por contraseña a alguna de las
paginas de nuestro sitio.
Usted debe aprender con este ejemplo a capturar los datos de los componentes de
formulario, trabajar con condiciones IF/ELSE, crear una funcion y utilizar un evento
en un boton para lanzar funciones.
Codigo:
<html>
<head>
<script>
function login(){
mi_usuario = document.form1.user.value;
mi_contrasena = document.form1.pass.value;
<body>
</body>
</html>
3
Ejercicios realizados en Clase – Modulo JavaScript
1.2 CONTRASEÑA CAMBIO DE PAGINA
El objetivo de este ejemplo es crear un acceso que pregunte una clave y utilize la
palabra de la clave para enviar a una pagina u otra del sitio. Deberemos crear esa
pagina extra.
Usted debe aprender con este ejemplo a capturar los datos de los componentes de
formulario, trabajar con condiciones IF/ELSE, crear una funcion y utilizar un evento
en un boton para lanzar funciones.
Codigo:
<HTML>
<HEAD>
<TITLE>Acceso con password</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function Saltar(pal)
{
window.location=pal+".htm"
}
</SCRIPT>
</HEAD>
<BODY>
<FORM>
Introduce la palabra clave para acceder a la pagina
<P>
<INPUT TYPE="password" NAME="palclave" SIZE=25 VALUE="">
<INPUT TYPE="button" VALUE="Acceder"
onClick="Saltar(this.form.palclave.value)">
</FORM>
</BODY>
</HTML>
4
Ejercicios realizados en Clase – Modulo JavaScript
En este ejemplo utilizaremos un Teclado virtual para introducirlos datos, realizaremos un
ejemplo simple de funcionamiento y luego lo complicaremos con varios cambios para
mejorar la seguridad.
Usted debe aprender a utilizar un teclado virtual, el uso de los componentes Hidden en
Javascript y los distintos tipos de estrategias que podemos usar para esconder la
contraseña.
Codigo:
<HTML>
<HEAD>
<TITLE>Acceso con password</TITLE>
<script>
function login(){
if (clave.pantalla.value == clave.oculto.value){
document.location="http://google.es";
}else{
alert("Fuera de aqui sucia RATA!!")
}
}
</script>
</HEAD>
5
Ejercicios realizados en Clase – Modulo JavaScript
<input type="button" name="6" id="6" value="6" onClick="teclado(6)">
<br>
<input type="button" name="7" id="7" value="7" onClick="teclado(7)">
<input type="button" name="8" id="8" value="8" onClick="teclado(8)">
<input type="button" name="9" id="9" value="9" onClick="teclado(9)">
<br>
<input type="button" name="intro" id="intro" value=" Entrar "
onClick="login()">
</p>
<p align="center"> </p>
<p align="center"> </p>
</form>
</BODY>
</HTML>
Crear claves aleatorias es muy importante para poder protejer de una manera razonable
nuestras paginas o contenidos, para ello vamos a realizar un pequeño ejemplo de un
creador de contraseñas RAMDOM.
Codigo:
<html>
<head>
<script>
var caracter="1234567890";
caracter+="QWERTYUIOPASDFGHJKLÑZXCVÇBNM";
caracter+="qwertyuiopñlkjhçgfdsazxcvbnm";
var numero_caracteres=8;
var total=caracter.length;
function azar(){
var clave="";
for(a=0;a<numero_caracteres;a++){
clave+=caracter.charAt(parseInt(total*Math.random(1)));
}
document.forms[0].clave2.value=clave;
}
</script>
</head>
<body onload="azar()">
6
Ejercicios realizados en Clase – Modulo JavaScript
<form>
Clave.-<input type="text" readonly="readonly" name="clave2" id="clave2" />
<input type="button" value="regenerar clave" onclick="azar()" />
</form>
</body>
</html>
Codigo:
<html>
<head>
<title>Fortaleza de Contraseña</title>
<script>
pw_min = 5; // Caracteres minimos de la contraseña
pw_max = 20; // Caracteres maximos de la contraseña
pw_invalid = 'red'; // Contraseña no valida = color rojo
pw_insecure = 'yellow'; // Contraseña no insegura = color amarillo
pw_secure = 'green'; // Contraseña valida = color verde
pw_validate = /^[a-z0-9]+$/i; // Algoritmo para validar la password
document.onkeyup = function() {
if (typeof pw_focus != 'undefined') {
if (pw_focus.value.length < pw_min || pw_focus.value.length >
pw_max) bcolor = pw_invalid;
else if (!pw_validate.test(pw_focus.value)) bcolor = pw_invalid;
else if (pw_focus.value.toLowerCase() == pw_focus.value ||
pw_focus.value.toUpperCase() == pw_focus.value) bcolor = pw_insecure;
else if (/^[a-z]+$/i.test(pw_focus.value) || /^[0-
9]+$/i.test(pw_focus.value)) bcolor = pw_insecure;
else bcolor = pw_secure;
pw_focus.style.backgroundColor = bcolor;
}
}
window.onload = function() {
var inputs = document.getElementsByTagName('input');
for (i = 0; i < inputs.length; i++) {
if (inputs[i].type == 'password') {
inputs[i].onfocus = function() {
7
Ejercicios realizados en Clase – Modulo JavaScript
pw_focus = this;
}
inputs[i].onblur = function() {
delete pw_focus;
}
}
}
}
</script>
</head>
<body>
<input type="password" style="width: 250px" /><br /><br />
</body>
</html>
1.6 PASSWORD 2
Una sencilla forma de acceder a una página, mediante un password o contraseña, empleando
para ello JavaScript.
a) Código JavaScript
La primera función estará en la página de acceso mientras que la sentencia para
redireccionar se sitúa en la cabecera de la página a la que se accede desde la primera
(página clave).
El método se basa en colocar páginas cuyo nombre sea el de las passwords, seguido por
supuesto de la extensión htm o html. Cuando un usuario accede deberá conocer el
nombre de la página si no recibirá un mensaje de página no encontrada emitido por el
navegador. Al acceder a la página clave el navegador se redirecciona a la página donde
tu quieras que llegue.
function password(texto)
{
if (texto!="")
location.href= texto+".htm";
}
//sentencia para redireccionar
location.replace("paginabase.htm")
b) Código HTML
La página de acceso contendrá la función password() o mejor aún un enlace al archivo
con esta función. La página clave se llamará con el nombre que asignes a la password,
por ejemplo re345ty seguido de la extensión htm.
8
Ejercicios realizados en Clase – Modulo JavaScript
buscará la página correspondiente, en el ejemplo er456.htm, al no hallarla devolverá la
clásica página de error. Deberás crear una página clave para cada password que asignes.
Sencillo ¿verdad?, no es a prueba de bombas pero puede funcionar y de hecho funciona.
La forma de romper este password es encontrar la lista de directorios de tu web, y la
mayoría de servidores no permiten esta operación. Claro también podrían acceder a esta
página principal directamente si conocen su nombre.
Página de acceso:
<HTML>
<HEAD>
<!-- aquí va el código javascrip -->
</HEAD>
<BODY COLOR ="#FFFFFF">
<FORM NAME="pass" ACTION="">Teclea tu password:
<input type="password" name="clave">
<input type="button" name="entrar"
onclick = "password(this.form.clave.value)">
</FORM>
</BODY>
</HTML>
Página clave:
<HTML>
<HEAD>
<script language="javascript">
location.replace("mipaginappal.htm");
</script>
</HEAD>
<BODY COLOR ="#FFFFFF">
</BODY>
</HTML>
2. EDITORES DE TEXTO
9
Ejercicios realizados en Clase – Modulo JavaScript
2.1 TINYMCE: EDITOR WYSIWYG
El framework necesario para realizar el ejercicio se puede descargar desde la siguiente url:
http://tinymce.moxiecode.com/download.php
Usted debe aprender: configurar el Framework TinyMCE y asimilar los conceptos para
trabajar con otros frameworks.
Codigo:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<script type="text/javascript" src="tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
</head>
<body>
10
Ejercicios realizados en Clase – Modulo JavaScript
<textarea name="tinymce" id="tinymce" cols="80" rows="10"></textarea>
</body>
</html>
3. APLICACIONES
Esta aplicacion utiliza el algoritmo que define que letra tendra nuestro DNI, es muy util para
calcularla automaticamente y que el usuario no tenga que escribir nada.
Codigo:
<html>
<head>
<title>Calculo de la letra del D.N.I.</title>
</head>
<script language="JavaScript">
<!--
var ASC
function CalcularNIF()
{
if (document.forms[0].DNI.value == "")
{
alert("Escriba el valor para el campo \"DNI\" .");
document.forms[0].DNI.focus();
return (false);
}
var digitos = "0123456789";
var chequeo = document.forms[0].DNI.value;
var correcto = true;
11
Ejercicios realizados en Clase – Modulo JavaScript
if (ch == digitos.charAt(j))
break;
if (j == digitos.length)
{
alert("Escriba nicamente d gitos del 0 al 9 en el campo \"DNI\".");
document.forms[0].DNI.focus();
return (false);
}
}
ASC= document.forms[0].DNI.value % 23;
if ( ASC == 0) { document.forms[0].Letra.value="T"; };
if ( ASC == 1) { document.forms[0].Letra.value="R"; };
if ( ASC == 2) { document.forms[0].Letra.value="W"; };
if ( ASC == 3) { document.forms[0].Letra.value="A"; };
if ( ASC == 4) { document.forms[0].Letra.value="G"; };
if ( ASC == 5) { document.forms[0].Letra.value="M"; };
if ( ASC == 6) { document.forms[0].Letra.value="Y"; };
if ( ASC == 7) { document.forms[0].Letra.value="F"; };
if ( ASC == 8) { document.forms[0].Letra.value="P"; };
if ( ASC == 9) { document.forms[0].Letra.value="D"; };
if ( ASC == 10) { document.forms[0].Letra.value="X"; };
if ( ASC == 11) { document.forms[0].Letra.value="B"; };
if ( ASC == 12) { document.forms[0].Letra.value="N"; };
if ( ASC == 13) { document.forms[0].Letra.value="J"; };
if ( ASC == 14) { document.forms[0].Letra.value="Z"; };
if ( ASC == 15) { document.forms[0].Letra.value="S"; };
if ( ASC == 16) { document.forms[0].Letra.value="Q"; };
if ( ASC == 17) { document.forms[0].Letra.value="V"; };
if ( ASC == 18) { document.forms[0].Letra.value="H"; };
if ( ASC == 19) { document.forms[0].Letra.value="L"; };
if ( ASC == 20) { document.forms[0].Letra.value="C"; };
if ( ASC == 21) { document.forms[0].Letra.value="K"; };
if ( ASC == 22) { document.forms[0].Letra.value="E"; };
if ( ASC == 23) { document.forms[0].Letra.value="T"; };
return document.forms[0].Letra.value;
}
// -->
</script>
<font size="+2"><b><i>Calculo del NIF</b></i></font><p>
Introduciendo el DNI calcula la letra del NIF<p>
<center>
<form method="POST" name="NIF">
<table border="0" bgcolor="#808080">
12
Ejercicios realizados en Clase – Modulo JavaScript
<tr>
<td> </td>
<td><font face="Comic Sans MS"><strong>DNI</strong></font></td>
<td align="center"><font face="Comic Sans
MS"><strong>Letra</strong></font></td>
</tr>
<tr>
<td><font face="Comic Sans MS"><input type="button"
name="Calcular" value="Calcular" language="JavaScript" onclick="CalcularNIF()">
</font></td>
</font><strong><br>
Ultima Revision: </strong><font
face="Arial"><strong>31/8/97</strong></font><strong><br>
Autor: </strong><font face="Arial"><strong>Overdrive</strong></font></p>
</blockquote></center>
<a href="index.htm#dni1">Volver</a>
</body>
</html>
4. RELOJES Y FECHAS
4.1 RELOJ SENCILLO
Mediante este ejemplo crearemos un reloj para ser visualizado en una caja de texto.
13
Ejercicios realizados en Clase – Modulo JavaScript
Usted debe aprender con este ejemplo a manejar objetos Date().
Codigo:
<html>
<head>
<title>Mi primer reloj en JAVA</title>
<script language="JavaScript">
<!-- Java Clock
</script>
</head>
<BODY onload="startclock()">
</body></html>
14
Ejercicios realizados en Clase – Modulo JavaScript
Mediante el siguiente ejemplo veremos como utilizar uno de los miles de calendarios que
podemos encontrar en internet. La mayoría de ellos se utilizan en sitios donde tenemos que
elegir una fecha para reservar algo.
http://sourceforge.net/projects/jscalendar/
<html>
<head>
<title>Calendario de pruebas</title>
</head>
<body>
15
Ejercicios realizados en Clase – Modulo JavaScript
<form action="#" method="get">
</form>
<script type="text/javascript">
Calendar.setup({
});
</script>
</body>
</html>
16
Ejercicios realizados en Clase – Modulo JavaScript
5. FORMULARIOS
5.1 INSERTAR UNA IMAGEN DENTRO DE UN BOTON DE FORMULARIO
Mediante este Script vamos a insertar una imagen dentro del boton tipico de formulario, con
lo que ganara mas en aspecto.
Codigo:
Sencillo ejemplo de uso de un menu de seleccion que ejecuta una function cuando cambio de opcion.
Usted debe aprender con este ejemplo el uso del evento onChange, y como utilizar THIS en los
objetos.
Codigo:
<form>
<select name="servicio" size="8"
onchange="top.location.href=this.form.servicio.options[this.form.servicio.selectedIndex].value">
<option value="Select1.htm">Seleccionar</option>
<option value="abrir1.htm">Abre una ventana</option>
<option value="barra1.htm">Mensaje en la barra</option>
<option value="calenda1.htm">Calendario</option>
<option value="cerrar.htm">cierra una ventana</option>
<option value="directorio.htm">Ruta del archivo actual</option>
<option value="reloj.htm">Reloj</option>
<option value="pinpon.htm">Mensaje que rebota</option>
<option value="fecha.htm">Fecha y hora</option>
<option value="validat1.htm">Valida contenido</option>
<option value="validat2.htm">Valida y envia contenido</option>
<option value="menu.htm">Cambia el grafico del enlace</option>
</select>
</form>
En este ejercicio resumiremos algunas funciones sencillas para validar campos de texto para
diferentes casos.
- Campo de texto con más de XX caracteres: (Aplicar con evento onBlur en la caja)
function maximo_caracteres(maximo){
17
Ejercicios realizados en Clase – Modulo JavaScript
if (tamano_texto > maximo){
} }
- Campo de texto que contiene Email: (Aplicar con evento onBlur en la caja)
function email_valido(){
} }
Mediante este ejempo podremos aprender como diferenciar entre las distintas resoluciones que
posee una pantalla. Para entender mejor la función que decidirá que hacer sugun sea la resolución,
previamente vamos a entender que propiedades importantes tiene el objeto SCREEN mediante este
código:
<script>
document.writeln('<br>La resolucion es: ' + screen.width + " x " + screen.height);
document.writeln('<br>La resolución para el diseño es: ' + screen.availWidth + " x " + screen.availHeight);
document.writeln('<br>La paleta de colores es: ' + screen.colorDepth);
document.writeln('<br>La tasa de refresco es: ' + screen.updateInterval);
</script>
<script>
if (screen.width<1024)
document.location = "Pequeña.htm" ;
else
if (screen.width<1280)
18
Ejercicios realizados en Clase – Modulo JavaScript
document.location = "mediana.htm";
else
document.location = "grande.htm";
</script>
Mediante el siguiente ejemplo repasaremos las propiedades mas importantes del objeto navigator, de
la misma manera que en el ejercicio anterior, podremos tomar decisiones en el caso que
necesitemos diferenciar entre un tipo de navegador u otro.
Codigo:
<script LANGUAGE="JavaScript">
<!--
document.write("Navigator <b>appCodeName</b>: " + navigator.appCodeName + "<br>");
document.write("Navigator <b>appName</b>: " + navigator.appName + "<br>");
document.write("Navigator <b>appVersion</b>: " + navigator.appVersion + "<br>");
document.write("Navigator <b>language</b>: " + navigator.language + "<br>");
document.write("Navigator <b>platform</b>: " + navigator.platform + "<br>");
document.write("Navigator <b>userAgent</b>: " + navigator.userAgent + "<br>");
//-->
</script>
Mediante este ejemplo aprenderemos a abrir una nueva ventana emergente. Para ello usaremos el
método window.open, este es el código:
function mypopup()
{
mywindow = window.open ("http://www.javascript-coder.com",
"mywindow","location=1,status=1,scrollbars=1,
width=100,height=100");
mywindow.moveTo(0,0);
}
<script>
//creamos la variable ventana_secundaria que contendrá una referencia al popup que vamos a abrir
//la creamos como variable global para poder acceder a ella desde las distintas funciones
var ventana_secundaria
19
Ejercicios realizados en Clase – Modulo JavaScript
function abrirVentana(){
//guardo la referencia de la ventana para poder utilizarla luego
ventana_secundaria =
window.open("cerrar_window2.html","miventana","width=300,height=200,menubar=no")
}
function cerrarVentana(){
//la referencia de la ventana es el objeto window del popup. Lo utilizo para acceder al método close
ventana_secundaria.close()
}
</script>
Mediante este ejemplo aprenderá a crear una ventana, escribir dentro de ella y modificar sus
propiedades de tal manera que seremos capaces de mover la ventana. Tambien aprenderá a utilizar
la función de ejecución temporal setTimeout().
Codigo:
<HTML>
<HEAD>
<title>Ejemplo de JavaScript</title>
<script LANGUAGE="JavaScript">
<!--
function moverVentana()
{
mi_ventana.moveBy(5,5); // incrementa 5px en el eje X e Y
i++;
if (i<20)
setTimeout('moverVentana()',100);
else
mi_ventana.close();
}
//-->
</script>
</HEAD>
<BODY>
<script LANGUAGE="JavaScript">
<!--
var opciones="left=100,top=100,width=250,height=150", i= 0;
mi_ventana = window.open("","",opciones);
mi_ventana.document.write("Una prueba de abrir ventanas");
mi_ventana.moveTo(400,100);
moverVentana();
//-->
</script>
</BODY>
</HTML>
20
Ejercicios realizados en Clase – Modulo JavaScript
6.5 IMPRIMIR DESDE UN BOTON O UNA IMAGEN
Mediante el siguiente script aprenderemos a imprimir la pagina web desde algun boton o imagen que
incluiremos en la parte de BODY.
Tan solo necesitamos incluir el siguiente evento dentro del los parametros de IMG o INPUT:
onclick="window.print()"
Este sencillo script nos permitira bloquear el boton derecho del raton, con el objetivo de proteger
nuestro codigo para que otros usuarios no lo vean, tan solo es necesario colocar el siguiente mini
script en BODY:
<script language="Javascript">
document.oncontextmenu = function(){return false}
</script>
7. EL OBJETO DOCUMENT
Mediante el siguiente ejemplo veremos como cargar imágenes aleatorias en nuestra página:
Codigo:
<script language="javascript1.5">
imagen = new Array; // Poner aqui las imagenes que quiero rotar
imagen[0]="boton_superior.jpg";
imagen[1]="boton_superior2.jpg";
imagen[2]="boton_Mas.jpg";
imagen[3]="boton_superior.jpg";
21
Ejercicios realizados en Clase – Modulo JavaScript
document.write(src);
document.write ("<IMG SRC="+ src +">");
</script>
LIGHTBOX:
Mediante este ejemplo aprenderemos a utilizar Lightbox un pequeño framework que nos ayudara a
realizar presentaciones sencillas y efectivas sobre nuestras imágenes.
http://www.lokeshdhakar.com/projects/lightbox2/
Para que funcione debemos de incluir en la parte de la Cabecera (<HEAD>) los siguientes vínculos:
FACEBOX:
Este es otro ejemplo de como usar otro framework para mostrar imagenes y popups integrados. En
este caso es mas sencillo y esta muy indicado para mostrar publicidad.
22
Ejercicios realizados en Clase – Modulo JavaScript
<link href="facebox.css" media="screen" rel="stylesheet" type="text/css"
/>
<script type="text/javascript">
jQuery(document).ready(function($) {
$('a[rel*=facebox]').facebox({
loading_image : 'loading.gif',
close_image : 'closelabel.gif'
})
})
</script>
− BODY:
<a href="#info" rel="facebox">texto para dentro de la ventana</a>
<div id="info" style="display:none;">
Texto para dentro de la ventana
</div>
Mediante este ejemplo vamos a aprender a utilizar las propiedades del objeto imagen.
Codigo:
<HTML>
23
Ejercicios realizados en Clase – Modulo JavaScript
<HEAD>
<title>Ejemplo de JavaScript</title>
</HEAD>
<script LANGUAGE="JavaScript">
<!--
img1.src = "chica.jpg";
img2.src = "chica2.jpg";
function cambia(nombre,imagen)
nombre.src = imagen.src
function dobleancho()
imagen1.width=imagen1.width*2;
function doblealto()
imagen1.height=imagen1.height*2;
function mitadancho()
imagen1.width=imagen1.width/2;
function mitadalto()
24
Ejercicios realizados en Clase – Modulo JavaScript
{
imagen1.height=imagen1.height/2;
//-->
</script>
<BODY>
</BODY>
</HTML>
Mediante este ejemplo vamos a aprender a utilizar las propiedades del objeto.
function mostrar(nombreCapa){
document.getElementById(nombreCapa).style.visibility="visible";
function ocultar(nombreCapa){
document.getElementById(nombreCapa).style.visibility="hidden";
25
Ejercicios realizados en Clase – Modulo JavaScript
</script>
<div id="capa2"
style="position:absolute;width:100;height:100;top:100;left:200;background-
color:red;visibility:hidden">Capa 2</div>
Funcion en HEAD:
function agrandar(nombreCapa){
document.getElementById(nombreCapa).style.visibility="visible";
document.getElementById(nombreCapa).style.width=400;
document.getElementById(nombreCapa).style.height=410;
Enlace en BODY:
<a href="javascript:agrandar('capa2')">Tmaño de capa</a><br>
<script language="Javascript">
var temporizadorplegar;
var temporizadordesplegar;
function plegar(){
clearTimeout(temporizadordesplegar);
26
Ejercicios realizados en Clase – Modulo JavaScript
var altura=parseInt(document.getElementById("contenido").style.height);
if(altura>0)
altura--;
document.getElementById("contenido").style.height=altura+"px";
temporizadorplegar=setTimeout("plegar()",10);
else
clearTimeout(temporizadorplegar);
function desplegar(){
clearTimeout(temporizadorplegar);
var altura=parseInt(document.getElementById("contenido").style.height);
if(altura<305){
altura++;
document.getElementById("contenido").style.height=altura+"px";
temporizadordesplegar=setTimeout("desplegar()",10);
else
27
Ejercicios realizados en Clase – Modulo JavaScript
clearTimeout(temporizadordesplegar);
}
</script>
</div>
7.7 Mostrar una Capa que indique que la pagina esta Cargando:
Usaremos este script cuando tengamos paginas que tarden mucho en cargar, de esta manera
informaremos al usuario que la pagina esta cargando.
Se aconseja copiar por completo el código y pegarlo en una nueva pagina de Dreamweaver para ver
el resultado:
Código:
<html >
<head>
28
Ejercicios realizados en Clase – Modulo JavaScript
var textoCargando = "Cargando";
var numeroPuntos = 1;
var maxPuntos = 3;
var timerID = 0;
function oculta() {
document.getElementById("cargando").style.display = "none";
cargado = true;
clearTimeout(timerID);
function fTimer() {
for(i=0;i<numeroPuntos;i++) {
puntos += ".";
numeroPuntos = 0;
if (!cargado) {
29
Ejercicios realizados en Clase – Modulo JavaScript
}
</script >
<style type="text/css">
#cargando {
</style>
</head>
<body onload="oculta()">
<div id="cargando">Cargando</div>
<script language="javascript">
</script>
</body>
</html>
Este pequeño ejemplo te permitirá construir listas en las que los niveles se pueden abrir
y cerrar a voluntad. Pruébalo y personalízalo para tus necesidades.
a) Código JavaScript
Se trata de un script tan simple que apenas necesita comentarios. La función recibe
como argumentos un identificador (iden), y busca el elemento HTML cuyo ID sea igual
a este valor, para ello usa el método getElementById( ). Una vez encontrado el elemento
30
Ejercicios realizados en Clase – Modulo JavaScript
tan sólo modifica su propiedad display: si está en mostrar (block) lo pone en ocultar
(none) y viceversa.
Quizás lo más interesante de este script sea que usa código standard, es decir destinado
a navegadores que cumplen con los estándares de la W3C, que en lo que afecta al
DHTML es la normativa del DOM1 y el HTML4. Por tanto este script debe funcionar
en Netscape 6 y en MSIE 6, de hecho funciona a partir de MSIE 5, que sólo cumple la
regulación DOM1 en un 86%.
<script language="JavaScript">
function cambiaEstado(iden)
{
var elhtml = document.getElementById(iden);
if (elhtml.style.display == 'block')
elhtml.style.display = 'none';
else
elhtml.style.display = 'block';
}
</script>
b) Código HTML
Como vemos en lugar de usar el evento onclick se hace la llamada a la función
cambiaEstado( ) directamente en el enlace. El argumento de la llamada es el ID del
bloque UL de la lista. Simple.
<body>
<ul>
<li><a href="javascript:cambiaEstado('e1')">entrada 1</a>
<ul id="e1" class="nivel1">
<li>apartado 1 de entrada 1</li>
<li>apartado 2 de entrada 1</li>
</ul>
</li>
<li><a href="javascript:cambiaEstado('e2')">entrada 2</a>
<ul id="e2" class="nivel1">
<li>apartado 1 de entrada 2</li>
<li>apartado 2 de entrada 2 </li>
</ul>
</li>
</ul>
</body>
8. COOKIES
8.1 NOTIFICADOR DE ULTIMA MODIFICACION:
En este ejemplo vamos a ver como usando cookies podemos informar al usuario la fecha de ultima
actualizacion del documento, ademas se le advierte si la pagina fue modificada desde la ultima vez
que el usuario visito la pagina web.
Para realizar este ejemplo necesitamos utilizar cookies con el objetivo de saber cuando visito la web
el usuario por ultima vez.
31
Ejercicios realizados en Clase – Modulo JavaScript
Codigo:
<html><head></head><body>
<CENTER>
<TR><TD bgcolor="#000044">
<CENTER>
<SCRIPT LANGUAGE="JavaScript">
<!--
document.write(document.title);
//-->
</SCRIPT>
</TD></TR>
<TR><TD bgcolor="#440000">
<BR>
32
Ejercicios realizados en Clase – Modulo JavaScript
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
if (endstr == -1)
endstr = document.cookie.length;
var i = 0;
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
return null;
33
Ejercicios realizados en Clase – Modulo JavaScript
var expires = (argc > 2) ? argv[2] : null;
function DeleteCookie(name) {
FixCookieDate (exp);
if (cval != null)
expdate.setTime(expdate.getTime()+(5*24*60*60*1000));
document.write("");
if (!(cookie_date == GetCookie("cookie_date"))){
34
Ejercicios realizados en Clase – Modulo JavaScript
SetCookie("cookie_date",cookie_date,expdate);
// End -->
</SCRIPT>
</FONT>
</TD></TR>
</TABLE>
</CENTER>
</body></html>
35
Ejercicios realizados en Clase – Modulo JavaScript