PDSD PDSD-312 Manual
PDSD PDSD-312 Manual
PDSD PDSD-312 Manual
DESARROLLO
DE SOFTWARE
MANUAL DE APRENDIZAJE
FUNDAMENTOS DE
PROGRAMACIÓN WEB
CÓDIGO: 89001739
Profesional Técnico
FUNDAMENTOS DE PROGRAMACIÓN WEB
ÍNDICE
EQUIPOS Y MATERIALES.
1.2. OPERACIONES.
NORMAS DE SEGURIDAD.
- Identificar el lugar de los extinguidores y la ubicación de las salidas del
laboratorio.
- Recordar dónde está situado el botiquín.
- No poner en funcionamiento un equipo de laboratorio sin que el instructor
haya revisado la instalación.
IMPORTANTE:
Habilitar las líneas de código en caso de errores (line member).
CASO APLICATIVO 1.
<!DOCTYPE html>
<html lang="es">
<head>
<title>SEMANA </title>
<meta charset="utf-8" />
</head>
<body>
<header>
<h1>Bienvenidos a Senati </h1>
<p>Mi webSite creado en html5</p>
</header>
<section>
<article>
<h2>Div con ID Post <h2>
<p> Contenido (ademas de imagenes, citas, videos etc.) </p>
</article>
</section>
<aside>
<h3>Barra lateral </h3>
<p>contenido</p>
</aside>
<footer>
Pie de pagina
Autor : Haml el 2016
</footer>
</body>
</html>
III. Tipos de datos, alcances y variables
1. ESTRUCTURA GLOBAL.
IV. Variables estáticas
Las etiquetas más importantes son:
<!DOCTYPE html>
Es la declaración del tipo de documento que se está mostrando.
El DOCTYPE variará según el tipo de documento realizado, en nuestro ejemplo
hemos utilizado el doctype del HTML5
<section>: Es una gran caja que sirve para mostrar grandes bloques de
contenido de la página. Puede contener diferentes subapartados de diferentes
temas (de tipo <article>).
Entornos de trabajo:
CABECERAS.
size = valor
Da al texto un tamaño en puntos determinado.
Énfasis.
HTML define cuatro elementos que denotan un cambio de énfasis en el texto
que rodean a partir del texto de que están anidados:
Ejemplo 01.
<!doctype=html>
<html lang="es">
<meta charset="utf-8">
<body>
<h1 class="blue">Una introducción a los elementos, las etiquetas y contenidos</h1>
<p>
<strong>Elementos</strong> consiste en <strong> contenido</strong> dando enfasis
<em>Inicio</em> dando enfasis <em>Fin</em> etiqueta.
</p>
<hr />
<p>
Resultado:
TEXTO EN MOVIMIENTO
Se puede poner un texto que se desplace por la pantalla; esto recibe el nombre
de Marquesina (marquee en inglés).
La etiqueta es...
<MARQUEE>Este texto se desplaza</MARQUEE>
Ejemplos:
<MARQUEE WIDTH=70% HEIGHT=60> Esta marquesina ocupa el 70 % del
ancho de la pantalla y tiene una altura de 60 pixels </MARQUEE>
COMENTARIOS.
Para incluir comentarios en la página Web se utiliza la directiva <!-- -->.
Ejemplo:
<!-- Esto es un comentario sobre mi página Web -->
Los comentarios no serán mostrados por el navegador y son útiles para realizar
anotaciones en el documento HTML que nos indiquen lo que estamos haciendo
en una determinada parte del documento. Asimismo, se verá más adelante que
la directiva de comentario nos será de utilidad para incluir código JavaScript en
nuestra página Web.
LISTAS DE ELEMENTOS.
start = num
Indica que número será el primero de la lista. Si no se indica se entiende que
empezará por el número 1.
type = tipo
Indica el tipo de numeración utilizada. Si no se indica se entiende que será una
lista ordenada numéricamente. Los tipos posibles son:
Ejemplo Resultado
<OL>
<LI>España 1. España
<LI>Francia 2. Francia
<LI>Italia 3. Italia
<LI>Portugal 4. Portugal
</OL>
<OL type=A >
<LI>España A. España
<LI>Francia B. Francia
<LI>Italia C. Italia
<LI>Portugal D. Portugal
</OL>
LAS LISTAS SIN NUMERAR: Representan los elementos de la lista con una
"viñeta" o marca que antecede a cada uno de ellos. Se utiliza la directiva
<UL></UL> para delimitar la lista, y <LI> para indicar cada uno de los
elementos. La directiva <UL> puede contener el parámetro type que indica la
forma del "topo" o marca que antecede a cada elemento de la lista. Los valores
de type pueden ser disk, circle o square, con lo que el topo o marca puede ser
un disco, un círculo o un cuadrado.
Ejemplo Resultado
<UL type=disk>
<LI>España • España
<LI>Francia • Francia
<LI>Italia • Italia
<LI>Portugal • Portugal
</UL>
<UL type=square>
<LI>España España
<LI>Francia Francia
<LI>Italia Italia
<LI>Portugal Portugal
</UL>
Ejemplo Resultado
<DL>
<DT>WWW
<DD>Abreviatura de World Wide Web WWW Abreviatura de World Wide Web
<DT>FTP FTPAbreviatura de File Transfer
<DD>Abreviatura de File Transfer Protocol Protocol
<DT>IRC IRC Abreviatura de Internet Relay Chat
<DD>Abreviatura de Internet Relay Chat
</DL>
Existen otros dos tipos de listas menos comunes. Las listas de Menú o
Directorio se comportan igual que las listas sin numerar. La lista de Menú utiliza
la directiva <MENU></MENU> y los elementos se anteceden de <LI> El
resultado es una lista sin numerar más "compacta" es decir, con menos
espacio interlineal entre los elementos. La lista de Directorio utiliza la directiva
<DIR></DIR> y los elementos se anteceden de <LI>. Los elementos tienen un
límite de 20 caracteres.
Todas las listas se pueden "anidar", es decir incluir una lista dentro de otra, con
lo que se consigue una estructura tipo "índice de materias".
Ejemplo Resultado
<UL type= disk>
<LI>Buscadores
<UL>
• Buscadores:
<LI>Yahoo
o Yahoo
<LI>Ole
o Ole
<LI>Lycos
o Lycos
</UL>
• Links:
<LI>Links
o Microsoft
<UL>
o IBM
<LI>Microsoft
<LI>IBM
</UL>
</UL>
IMÁGENES
src = "imagen"
Indica el nombre del archivo gráfico a mostrar.
alt = "Texto"
Mostrará el texto indicado en el caso de que el navegador utilizado para ver la
página no sea capaz de visualizar la imagen.
lowsrc ="imagen"
Muestra una segunda imagen "superpuesta" sobre la primera una vez se carga
la página. Este parámetro no es reconocido por la totalidad de los navegadores
ya que está en estudio su aplicación, así que en la mayoría de los casos será
ignorado mostrándose solo la primera imagen (src). En Netscape muestra la
imagen indicada por lowsrc en primer lugar, y posteriormente muestra la
imagen indicada por src. Si las imágenes son iguales pero tienen distinta
"resolución" se conseguirá un efecto tipo "Fade". Si las imágenes son de
distinto tamaño la imagen indicada en src se redimensionara al tamaño
indicado por la imagen indicada en lowsrc
border = tamaño
Indica el tamaño del "borde" de la imagen. A toda imagen se le asigna un borde
que será visible cuando la imagen forme parte de un Hipervínculo.
height = tamaño
Indica el alto de la imagen en puntos o en porcentaje. Se usa para variar el
tamaño de la imagen original.
width = tamaño
Indica el ancho de la imagen en puntos o en porcentaje. Se usa para variar el
tamaño de la imagen original.
hspace = margen
Indica el número de espacios horizontales, en puntos, que separarán la imagen
del texto que la siga y la anteceda.
vspace = margen
Indica el número de puntos verticales que separaran la imagen del texto que le
siga y la anteceda.
ismap / usemap
Indica que la imagen es un MAPA. Se verán estos parámetros más adelante.
Ejemplo:
HIPERVÍNCULOS
Formularios:
<!DOCTYPE html>
<html>
<head>
<title>Formularios</title>
<meta charset="UTF-8">
</head>
<body>
<h1>Uso de Formulario </h1>
<hr>
<h2>Registre sus datos</h2>
<form method="post" action="/registration/new" id="registration-form">
<label for="first-name">Nombre</label><br />
<input type="text" id="first-name" name="FirstName"/><br />
<label for="last-name">Apellido :</label><br />
<input type="text" id="last-name" name="LastName"/><br />
<label for="email-address">Correo:</label><br />
<input type="email" id="email-address" name="EmailAddress"/><br />
<label for="password">password:</label><br />
<input type="password" id="password" name="Password"/><br />
<label for="confirm-password">Confirme su password:</label><br />
<input type="password" id="confirm-password" name="ConfirmPassword"/><br />
<label for="website">Sitio Web/blog:</label><br />
<input type="url" id="website" name="WebsiteUrl" /><br />
<button type="submit">Registro</button>
</form>
</body>
</html>
CASO APLICATIVO:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>Senati Eti </title>
<!--Estilos aplicados ES OPCIONAL -->
<link href="/styles/site.css" rel="stylesheet" type="text/css" />
<link href="/styles/nav.css" rel="stylesheet" type="text/css" />
<link href="/styles/header.css" rel="stylesheet" type="text/css" />
<link href="/styles/footer.css" rel="stylesheet" type="text/css" />
<link href="/styles/pages/live.css" rel="stylesheet" type="text/css" />
<link href="/styles/mobile.css" rel="stylesheet" type="text/css" />
<link href="/styles/print.css" media="print" rel="stylesheet" type="text/css" />
</head>
<body>
<nav class="page-nav">
<div class="container">
<a href="/index.htm">Inicio</a>
<a href="/about.htm">Acerca</a>
<a href="/schedule.htm">Programacion</a>
<a href="/register.htm">Registro</a>
<a href="/location.htm">Ubicacion</a>
<a href="/live.htm" class="active">En Vivo</a>
<a href="/feedback.htm">Retroalimentacion</a>
</div>
</nav>
<header class="page-header">
<div class="container">
<h1>HTML 5 </h1>
<p class="tag-line">Conferencia HTML5 PARA DESARROLLADORES</p>
</div>
</header>
</ul>
</div>
</section>
<footer class="page-footer">
<div class="container">
<p>
Organizado por Eti
</p>
<address>
Conferencia Centro<br />
Av Alfredo Mendiola 3550<br />
Independencia<br />
555-5120
</address>
<p>
Diciembre ; 2016 ETI
</p>
</div>
</footer>
SOLUCIÓN:
CASO APLICATIVO:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>Registros de Informacion</title>
</head>
<body>
<nav class="page-nav">
<div class="container">
<a href="/index.htm">Inicio</a>
<a href="/about.htm">Acerca</a>
<a href="/schedule.htm">Programacion</a>
<a href="/register.htm">Registro</a>
<a href="/location.htm">Ubicacion</a>
<a href="/live.htm" class="active">En Vivo</a>
<a href="/feedback.htm">Retroalimentacion</a>
</div>
</nav>
<header class="page-header">
<div class="container">
<h1>SENATI - ETI </h1>
<p class="tag-line">Una conferencia de dos vías sobre las últimas novedades de
HTML5</p>
</div>
</header>
<section class="page-section register">
<div class="container">
<h1>Registro a la conferencia</h1>
<form method="post" action="/registration/new" id="registration-form">
<div class="field">
<label for="first-name">nombre:</label>
<input type="text" id="first-name" name="FirstName" required="required"
autofocus="autofocus"/>
</div>
<div class="field">
<label for="last-name">Apellido:</label>
<input type="text" id="last-name" name="LastName" required="required"/>
</div>
<div class="field">
<label for="email-address">Correo:</label>
<input type="email" id="email-address" name="EmailAddress" required="required"/>
</div>
<div class="field">
<label for="password">Cambiar password:</label>
<input type="password" id="password" name="Password" required="required"
pattern="[a-zA-Z0-9]{5,}" title="At least 5 letters and numbers"/>
</div>
<div class="field">
<label for="confirm-password">Confirma tu password:</label>
<input type="password" id="confirm-password" name="ConfirmPassword"
required="required"/>
</div>
<div class="field">
<label for="website">Website/blog:</label>
<input type="url" id="website" name="WebsiteUrl" placeholder="http://"/>
</div>
<div>
<button type="submit">Register</button>
</div>
</form>
</div>
</section>
<footer class="page-footer">
<div class="container">
<p>
Organizado por Eti
</p>
<address>
Conferencia Centro<br />
Av Alfredo Mendiola 3540<br />
Independencia<br />
555-5120
</address>
<p>
Diciembre ; 2016 ETI
</p>
</div>
</footer>
SOLUCIÓN:
CASO APLICATIVO:
NUEVOS CONTROLES
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Nuevos controles</title>
</head>
<body>
<form action="." oninput="range_control_value.value =
range_control.valueAsNumber">
<p>
Nombre: <input type="text" name="name_control" autofocus required />
<br />
Correo Electrónico: <input type="email" name="email_control" required />
<br />
SOLUCION:
CASO PROPUESTO:
Crear una aplicación web basado en código HTML donde puedas aplicar todas
las directivas aprendidas hasta el momento. Esta aplicación debe cumplir las
siguientes características:
Recomendación
Para el alojamiento:
Paso 1.
https://www.000webhost.com/
Paso 2.
Click en el fileManager.
Ya se estará dentro del panel de control. Listo para que se puedan publicar
páginas web de forma gratuita.
Paso 1
CASO APLICATIVO:
<p>Debería haber más cosas aquí, pero ¿Qué pondría para su mejora?
</body>
</html>
Resultado:
body {
position: absolute;
padding-left: 11em;
color: purple;
background-color: #fbeed5; // color de fondo
font-family: Georgia, "Times New Roman",
Times, serif;
}
ul.navbar {
position: absolute;
top: 2em;
left: 1em;
width: 9em
padding: 0;
margin: auto;
}
ul.navbar a {
text-decoration: none }
a:link {
color: white }
a:visited {
color: #000 }
h1 {
position: initial;
}
<head>
<style type="text/css">
body {
background-image: url(Recurso/eti.jpg);
background-repeat: no-repeat;
background-position: 60px 100px;
}
</style>
<body>
<p>Imagen en las coordenadas x=60px y=100px</p>
</body>
RESULTADO:
CASO APLICATIVO:
<head>
<style type="text/css">
p{
padding-top: 30px;
padding-right:10px;
padding-bottom:20px;
padding-left:50%
}
</style>
</head>
<body>
<p>
Escuela de Tecnologia de la Informacion - Desarrollo Web
</p>
</body>
RESULTADO:
Fondo.
Propiedades Descripción
background-color Aplicar color de fondo a diferentes elementos.
background-image Utilizar una imagen como fondo.
background-repeat La imagen de fondo se repite.
background-attachment Dejar fija la imagen de fondo.
background-position Ubicar una imagen en un lugar determinado.
Textos.
Propiedades Descripción
text-indent Como dejar sangría en un texto.
text-align Centrar un texto.
text-decoration Definir un texto tachado o subrayado.
text-transform Convertir un texto a minúsculas o mayúsculas.
letter-spacing Controlar el espacio entre letras.
word-spacing Controlar el espacio entre palabras.
white-space Definir la ubicación del salto de línea.
color Colorear el texto a su gusto.
direction Definir el sentido de la escritura.
Fuentes.
Propiedades Descripción
font-family Definir un tipo de fuente.
font-style Escribir en itálica.
font-variant Variar la fuente a mayúsculas más pequeñas.
font-weight Como darle intensidad a la fuente.
font-size Definir el tamaño de la fuente.
Bordes
Propiedades Descripción
border-width Establecer el ancho del borde del elemento.
border-color Colorear el borde.
border-style Uso de bordes ocultos.
Uso de bordes punteados.
Uso de bordes a rayas.
Uso de bordes sólidos.
Márgenes.
Propiedades Descripción
margin Como dejar un margen alrededor de un elemento con
medidas.
margin Como dejar un margen alrededor de un elemento con
porcentajes.
Relleno – Padding.
Propiedades Descripción
padding Como controlar el relleno que hay entre el borde y el
contenido.
Listas.
Propiedades Descripción
list-style-type Aplicar diferentes marcadores a los Ítems de una lista
desordenada.
Aplicar números decimales y números romanos en listas
ordenadas.
Aplicar letras, números y blancos para listas ordenadas.
.
Tablas.
Propiedades Descripción
table-layout Como controlar el tamaño de las celdas de una tabla.
border-collapse Definir un borde separado o un borde de una línea fina en
una tabla.
Dimensiones.
Propiedades Descripción
width Defina el ancho de un párrafo a su gusto.
min-width Defina un ancho mínimo para un párrafo.
max-width Como definir un ancho máximo para un párrafo.
height Como establecer la altura de un elemento.
min-height Defina una altura mínimo para un elemento.
max-height Defina una altura máxima para un párrafo.
line-height Declare una separación entre líneas.
Efectos visuales
Propiedades Descripción
overflow Insertar una barra de desplazamiento en caso que el
contenido sea superior a la caja que lo contiene
clip Mostrar parte de una imagen
display Como convertir diferentes elementos en Ítems de una lista
visibility Mostrar u ocultar un texto
CASO APLICATIVO:
<head>
<style type="text/css">
ul { list-style-image: url(Recurso/eti.jpg);
}
</style>
</head>
<body>
<ul>
<li>XML</li>
<li>VBScript</li>
<li>AJAX</li>
</ul>
</body>
<!DOCTYPE html>
<HTML>
<META charset="utf-8">
<body>
<H1>Registre sus datos</H1>
<form id="contact_form" action="#" method="POST" enctype="multipart/form-data">
<div class="row">
<label for="name">Tu nombre:</label><br />
<input id="name" class="input" name="name" type="text" value="" size="30" /><br />
</div>
<div class="row">
<label for="email">Tu email:</label><br />
<input id="email" class="input" name="email" type="text" value="" size="30" /><br />
</div>
<div class="row">
RESULTADO:
<!doctype html>
<head>
<meta charset="UTF-8">
<title>Formulario con estilos CSS.</title>
<style type="text/css">
#formul {
padding: 20px 0px 0px 30px; /* margen con valores: arriba - derecha - abajo -
izquierda */
font-family:verdana,arial;
font-size:9pt;
}
.campos {
font-family:verdana,arial; /* tipo de letra */
.boton{
font-size:12px;
font-family:Verdana,Helvetica;
font-weight:bold;
color:#0000FF;
background:#A4C1FF;
border:0px;
width:120px;
height:25px;
}
#b_reset {
margin: 0px 0px 0px 0px; /* margen con valores: arriba - derecha - abajo -
izquierda */
}
#b_submit {
margin: -25px 0px 0px 380px; /* margen con valores: arriba - derecha - abajo -
izquierda */
}
</style>
</head>
<body>
<div id="formul">
<h3>Formulario de contacto.</h3>
<p>Mensaje:<br />
<textarea class="campos" rows="10" name="mensaje"></textarea></p>
<div id="b_reset">
<input class="boton" type="reset" value="Restablecer" name="B2">
</div>
<div id="b_submit">
<input class="boton" type="submit" value="Enviar mensaje" name="B1">
</div>
</form>
</div>
</body>
</html>
<form id="formulario">
<p>
RESULTADO:
CASO APLICATIVO:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<form>
<table width="400">
<tr><td>Nombre</td><td><input type="text"></td></tr>
<tr><td>Apellido</td><td><input type="text"></td></tr>
<tr><td>E-mail</td><td><input type="email"
pattern="^[-\w.]+@{1}[-a-z0-9]+[.]{1}[a-z]{2,5}$"></td></tr>
<tr><td>Web</td><td><input type="url"></td></tr>
<tr><td>Comentario</td><td>
<textarea></textarea></td>
</tr>
<tr><td></td><td>
<input type="submit">
<input type="reset"></td></tr>
</table>
</form>
</body>
</html>
MARCO TEÓRICO:
¿Qué es CSS?
CSS (Cascading Style Sheets - Hojas de Estilo en Cascada), son un
mecanismo simple que describe cómo se va a presentar un documento en la
pantalla, en un dispositivo de sonido, cómo se va a imprimir, en un dispositivo
braille, aparatos móviles, etc.
Las más comunes | arial | Verdana | Helvetica | "Times New Roman" | Courier |
Univers
<head>
<style="type:text/css">
selector {background: valor 1 valor 2}
</style>
</head>
Ejemplo:
Se va a aplicar un fondo rojo al elemento h2 de esta página.
Código
<head>
<style type="text/css">
h2 { background:red }
</style>
</head>
<body>
<h2>El fondo del título es rojo.</h2>
</body>
Resultado:
FORMULARIO:
El formulario es una herramienta interactiva y dispone de una multitud de
controles, cada uno con una utilidad específica (campos de texto, casillas de
verificación, etc...) Mediante un programa procesador (Php, Asp, etc.) el
formulario facilita el flujo de datos desde la página Web hacia el servidor o al
revés.
Casi todos estos elementos (excepto las áreas de texto y los cuadros de lista)
se construyen con una sola directiva <input>. Esta directiva dispone de un
atributo @type, con el cual, con sólo cambiar su valor (text, checkbox, radio,
etc.), se obtendrá el tipo de control que se necesita.
- Variables y Operadores.
- Creación de funciones.
- Validaciones.
- Creación de array y objetos con Json.
- Creación del DOM.
- Creación de una función con JQuery.
2.1. JAVASCRIPT.
HTML permite definir el diseño para sus páginas web, pero aparte del elemento
<form>no se prevé ningún tipo de interacción con el usuario. Además, el diseño
definido por el uso de HTML tiende a ser bastante estático. Se puedes añadir el
comportamiento dinámico a una página escribiendo JavaScript con respecto al
código.
Hay varias maneras que se pueden incluirJavaScript en su página web, todas
relacionadas con la etiqueta <Script>:
Ejemplo:
Por otro lado, también se podrá utilizar JavaScript para efectuar varias
opciones a la vez; por ejemplo, acompañar el acceso a un documento HTML de
la visualización de un vídeo o la ejecución de un applet de Java...
<SCRIPT>
Código del script
</SCRIPT>
Por ejemplo:
<SCRIPT Type=“text/javascript”>
<-- Disimula el contenido del script para navegadores no compatibles
Código del script
//-->
</SCRIPT>
5. VARIABLES Y OPERADORES.
<HEAD>
<SCRIPT Type=“text/javascript”>
<-- Disimula el contenido del script para navegadores incompatibles
function alerta() {
var men=”Hola soy senatino”
alert(men);
}
//-->
</SCRIPT>
...
</HEAD>
<BODY>
<A HREF="index.htm" OnClick="alerta()">
Ir al índice
</A>
...
</BODY>
// esto es un comentario
/* esto es un comentario de varias líneas con una longitud cualquiera */
Identificadores en JavaScript:
Los identificadores de un lenguaje son los caracteres que se le asigna a los
nombres de variables, constantes, funciones, objetos, etc..., que se definen en
dicho lenguaje, estos son necesarios para poder invocar a dichos elementos en
lugares posteriores a su definición.
Ejemplo:
Num_linea
aux1
_exit
Ejemplos sencillos:
Una vez que se ha iniciado en el mundo de JavaScript es hora de empezar a
ver al lenguaje "en acción" viendo una batería de ejemplos muy sencillos que
permitirán ir adentrándose en la potencia de este lenguaje.
Como primer ejemplo no hay nada mejor que el clásico programa ¡Hola
mundo!. Este mostrará una ventana conteniendo el famoso mensaje cuando se
pulse sobre el botón ejemplo1. Para ello se debe generar el siguiente código
fuente.
<CENTER>
<FORM>
<INPUT Type="button" Value=" ejemplo1
"onClick="alert(' ¡Hola mundo! ')">
</FORM>
</CENTER>
6. CREACION DE FUNCIONES.
<html>
<head>
<title>Plantilla</title>
<SCRIPT Laguage="JavaScript">
<!--
function Cuadrado(numero) {
return numero * numero;
}
//-->
</SCRIPT>
</head>
<body>
<CENTER>
<FORM>
El cuadrado de 5 es..::
<INPUT Type="button" Value="
ejemplo2 " onClick="alert(Cuadrado(5))">
<html>
<head>
<title>Plantilla</title>
<SCRIPT Laguage="JavaScript">
function evalua(form) {
if (confirm("¿Está seguro?"))
form.result.value = eval
(form.expr.value);
else
alert("Inténtelo
de nuevo.");
}
</SCRIPT>
</head>
<body>
<CENTER><FORM>
Introduzca la expresión:
<INPUT Type="text" name="expr"
Size=10>
Resultado:
<INPUT Type="text" name="result"
Size=10>
Manejo de Eventos:
<HTML>
<HEAD>
<SCRIPT Type=“text/javascript”>
function factorial(num)
Estructuras de Programación
2. La estructura “if-else”
Sintaxis:
if(condición)
{
sentencia1;
sentencia2;
sentencia3;
}
else
{
sentencia4;
Ejemplo 1
<HTML>
<SCRIPT Type=“text/javascript”>
var num;
num=parseFloat(prompt("Escribe un número",""));
if(num==100)
{
alert("El número que has escrito es 100");
}
else
{
alert("El número que has escrito no es 100");
}
if(num>0)
{
alert("El número que has escrito es positivo");
}
else
{
alert("El número es negativo o 0");
}
</SCRIPT>
</HTML>
Ejemplo 2
<HTML>
<SCRIPT Type=“text/javascript”>
var a,b;
a=parseFloat(prompt("Escribe el primer número",""));
b=parseFloat(prompt("Escribe el segundo número",""));
if(a==b) alert("Los dos números son iguales");
if(a != b) alert("Los dos números son distintos");
if(a>b)
{
alert("El primer número es mayor que el segundo");
}
else
{
alert("El primer número no es mayor que el segundo");
}
if((a>b) && (100>a))
</HTML>
Ejemplo 1
<HTML>
<SCRIPT Type=“text/javascript”>
var x=0;
while(x<6)
{
alert("El valor de x es= "+x);
x=x+1;
}
</SCRIPT>
</HTML>
4. Contadores en JavaScript
Ejemplo 1:
a=a+1 es equivalente a escribir a++
a=a-1 es equivalente a escribir a—
num=num+2 es equivalente a escribir num += 2
num=num*2 es equivalente a escribir num *= 2
<HTML>
<SCRIPT Type=“text/javascript”>
var i=2;
var res="";
var j=7;
while (i<j)
{
res=res+" "+i+" "+j+"\n";
i++;
j--;
}
alert(res);
</SCRIPT>
</HTML>
Ejemplo 2:
Programa que repite un texto cualquiera, el número de veces que queramos,
utilizando un “while”
<HTML>
<SCRIPT Type=“text/javascript”>
var nom;
var indice=1;
var num;
var respuesta=" ";
nom=prompt("Escribe tu nombre","");
num=prompt("Cuántas veces quieres que lo repita","");
num=parseInt(num,10); // era una cadena y ahora es un número
while (indice <= num)
{
respuesta=respuesta+nom+"\n";
indice++;
}
alert(respuesta);
</SCRIPT>
</HTML>
Ejemplo 3:
Programa que acumula la suma y el producto de un número, para salir pulsar 0.
<HTML>
<SCRIPT Type=“text/javascript”>
Ejemplo 4:
¿Qué hace este programa?
<HTML>
<SCRIPT Type=“text/javascript”>
var opc="0";
while (opc != "T")
{
opc=prompt("Escribe la letra de la opción deseada: (S) Sumar - (R) Raíz Cuadrada -
(L) Logaritmo Neperiano - (A) Ayuda - (T) Terminar","");
if (opc=="S") suma();
if (opc=="R") raiz();
if (opc=="L") logaritmo();
if (opc=="A") ayuda();
}
function suma()
{
var a,b;
a=prompt("Escribe el primer sumando","");
a=parseFloat(a);
b=prompt("Escribe el segundo sumando","");
b=parseFloat(b);
alert("La suma de "+ a +" y "+ b +" es "+(a+b));
}
function raiz()
{
function ayuda()
{
alert("Es bastante tonto que me pidas ayuda\npero aquí la tienes:\n\tPulsa S si quieres
sumar\n\tPulsa R para la raíz cuadrada\n\tPulsa L para el logaritmo neperiano\n\tPulsa
A para acceder a la ayuda\n\tPulsa T para acabar");
}
</SCRIPT>
</HTML>
Sintaxis:
for (i=1;i<=10;i++)
{
sentencia1;
sentencia2;
sentencia3;
}
<HTML>
<SCRIPT Type=“text/javascript”>
var texto;
var num;
var salida="";
texto=prompt("Escribe un texto","");
num=prompt("Cuántas veces quieres que lo repita","");
num=parseInt(num,10);
for(i=1;i<=num;i++)
{
salida=salida+texto+"\n";
}
alert(salida);
</SCRIPT>
</HTML>
Ejemplo 2:
Programa que calcula todos los múltiplos de 11 menores de 3000 y por último
nos da la suma de todos ellos.
<HTML>
<SCRIPT Type=“text/javascript”>
var salida="";
var sum=0;
for(multi=11;multi<3000;multi=multi+11)
{
salida=salida+multi+" ";
sum=sum+multi;
}
alert(salida+"\nLa Suma de todos ellos es= "+sum);
</SCRIPT>
</HTML>
Ejemplo 3:
Programa que calcular el factorial de un número.
<HTML>
<SCRIPT Type=“text/javascript”>
¿var salida="";
var fact=1;
Ejemplo 4:
Programa que calcula los 10 primeros múltiplos del número que se quieran, por
último nos da la suma de todos ellos.
<HTML>
<SCRIPT Type=“text/javascript”>
var salida="";
var num;
var mult;
var sum=0;
num=prompt("¿Múltiplos de qué número?","");
num=parseInt(num,10);
for(i=1;i<=10;i++)
{
mult=num*i;
salida=salida+mult+" ";
sum=sum+mult;
}
alert(salida+"\nSuma= "+sum);
</SCRIPT>
</HTML>
Ejemplo 5:
2
Desarrollar la siguiente formula y=x -5x+10
<HTML>
<SCRIPT Type=“text/javascript”>
var x1,x2,paso;
var salida="";
var y;
x1=prompt("Escribe el menor valor de x","");
x1=parseFloat(x1);
x2=prompt("Escribe el mayor valor de x","");
x2=parseFloat(x2);
paso=prompt("Escribe el incremento de x:","");
paso=parseFloat(paso);
6. El Objeto “Math”
Ejemplo 1:
Programa que calcula la hipotenusa de un triángulo rectángulo.
<HTML>
<SCRIPT Type=“text/javascript”>
var cat1,cat2,hipo; JavaScript Hugo 32
cat1=prompt("Escribe el valor de un cateto","");
cat2=prompt("Escribe el valor del otro cateto","");
cat1=parseFloat(cat1);
cat2=parseFloat(cat2);
hipo=Math.sqrt(cat1*cat1+cat2*cat2);
alert("La hipotenusa del triángulo de catetos "+cat1+" y "+cat2+" es "+hipo);
</SCRIPT>
</HTML>
Ejemplo 2:
Programa que calcula tantas hipotenusas como se quiera.
<HTML>
<SCRIPT Type=“text/javascript”>
var opcion="S";
var cat1,cat2,hipo;
while(opcion=="S" || opcion=="s")
{
cat1=prompt("Escribe el valor de un cateto","");
cat2=prompt("Escribe el valor del otro cateto","");
cat1=parseFloat(cat1);
cat2=parseFloat(cat2);
hipo=Math.sqrt(cat1*cat1+cat2*cat2);
alert("La hipotenusa del triángulo de catetos "+cat1+" y "+cat2+" es "+hipo);
opcion=prompt("¿Quieres calcular otra hipotenusa? (S/N)","");
}
alert("Adiós muy buenas");
</SCRIPT>
</HTML>
Ejemplo 3:
Programa que resuelve una ecuación de segundo grado.
<HTML>
<SCRIPT Type=“text/javascript”>
var a,b,c;
var discri;
var x1,x2;
a=prompt("Escribe el coeficiente de la x^2","");
a=parseFloat(a);
b=prompt("Escribe el coeficiente de la x",""); JavaScript Hugo 33
b=parseFloat(b);
c=prompt("Escribe el término independiente","");
c=parseFloat(c);
discri=b*b-4*a*c;
if(discri<0) alert("Soluciones Imaginarias");
if(discri==0)
{
x1=-b/(2*a);
alert("Solución doble que es "+x1);
}
if(discri>0)
Ejemplo 4:
Programa que calcula el logaritmo en base cualquiera de un número dado.
<HTML>
<SCRIPT Type=“text/javascript”>
var num;
var opc,base;
num=prompt("Escribe un número positivo","");
num=parseFloat(num);
opc=prompt("1 Logaritmo Neperiano. 2 Logaritmo Decimal. 3 Logaritmo en base
a\nEscribe el número de la opción","");
opc=parseInt(opc,10);
if(opc==1)
{
alert("El logaritmo Neperiano de "+num+" es "+Math.log(num));
}
if(opc==2)
{
alert("El logaritmo Decimal de "+num+" es "+(Math.log(num)/Math.log(10)));
}
if(opc==3)
{
base=prompt("Introduce el valor de la base a","");
base=parseFloat(base);
alert("El Logaritmo en base "+base+" del número "+num+" es
"+(Math.log(num)/Math.log(base)));
}
</SCRIPT>
</HTML>
7. Números Aleatorios.
Ejemplo 1:
<HTML>
<SCRIPT Type=“text/javascript”>
var a,x,y;
var salida="";
salida=salida+"5 números aleatorios entre 0 y 1\n";
for(i=1;i<=5;i++)
{
salida=salida+Math.random()+"\n";
}
salida=salida+"\n\n5 números aleatorios entre 3 y 7\n";
for(i=1;i<=5;i++)
{
salida=salida+(Math.round(7-3)*Math.random()+3)+"\n";
}
salida=salida+"\n\n5 números aleatorios entre 15 y 70\n";
for(i=1;i<=5;i++)
{
salida=salida+(Math.round(70-15)*Math.random()+15)+"\n";
}
alert(salida);
alert("Vamos a ver 5 números aleatorios entre los dos\nque tú quieras");
x=parseFloat(prompt("Escribe el número menor (puede ser decimal)",""));
y=parseFloat(prompt("Escribe el número mayor (puede ser decimal)",""));
salida="";
salida=salida +"5 números aleatorios entre "+x+" y "+y+"\n\n\n";
for(i=1;i<=5;i++)
{
a=Math.round(y-x)*Math.random()+x;
salida=salida+a+"\n";
}
alert(salida);
/* Si quieres números aleatorios enteros basta
cambiar los paréntesis de la siguiente forma:
Math.round((y-x)*Math.random()+x) */
salida="";
salida=salida+"150 números enteros aleatorios entre 2 y 17\n";
for(i=1;i<=150;i++)
{
salida=salida+Math.round((17-2)*Math.random()+2)+" - ";
}
alert(salida);
</SCRIPT>
</HTML>
Ejemplo 2:
ADIVINANZA
Se va a hacer un programa que pregunte un número entero del 1 al 10, y el
usuario del programa tiene 5 tentativas para adivinarlo.
<HTML>
<SCRIPT Type=“text/javascript”>
var x,num;
var i=0;
var control=0;
x=Math.round(9*Math.random()+1);
while(i<5)
{
i++;
num=parseInt(prompt("Escribe un entero entre 1 y 10, intento "+i,""));
if(num==x)
{
alert("Lo has acertado en "+i+" tentativas");
i=5;
control=1;
}
}
if(control==0)
{
alert("Lo siento pero se han acabado tus 'vidas', el número era "+x);
}
</SCRIPT>
</HTML>
Ejemplo 3:
<HTML>
<SCRIPT Type=“text/javascript”>
var x,y,z;
var nota=0;
for(i=1;i<=5;i++)
{
x=Math.round(9*Math.random()+1);
y=Math.round(9*Math.random()+1);
z=parseInt(prompt(x+" + "+y+" = ",""));
if(z==x+y)
{
<HTML>
<SCRIPT Type=“text/javascript”>
var x,num;
var i=0;
x=Math.round(9*Math.random()+1);
while(i<5)
{
i++;
num=parseInt(prompt("Escribe un entero entre 1 y 10, intento "+i,""));
if(num==x)
{
alert("Lo has acertado en "+i+" tentativas");
break;
}
}
if(i==5)
{
alert("Lo siento pero se han acabado tus 'vidas', el número era "+x);
}
</SCRIPT>
</HTML>
switch(x)
{
case valor 1:
sentencia1;
sentencia2;
…;
…;
break;
case valor 2:
sentencia3;
…;
…;
break;
…
…
…
}
Ejemplo 1:
<HTML>
<SCRIPT Type=“text/javascript”>
var opc="0";
var num;
while (opc != "10")
{
opc=prompt("Escribe la opción que desees: (1)El Triple-(2)El Cuadrado-(3)El
Logaritmo Neperiano(4)El Seno-(5)El Coseno-(10)SALIR","");
switch(opc)
{
case "1": JavaScript Hugo 40
num=prompt("Escribe el número","");
num=parseFloat(num);
alert("El triple de "+ num +" es " +(3*num));
break;
case "2":
num=prompt("Escribe el número","");
num=parseFloat(num);
alert("El cuadrado de "+ num +" es " +(num*num));
break;
case "3":
num=prompt("Escribe el número","");
Ejemplo 2:
El programa nos pide el número total de preguntas y el número de respuestas
acertadas. A partir de aquí y utilizando la estructura "switch-case", el programa
nos da la "nota" cualitativa.
<HTML>
<SCRIPT Type=“text/javascript”>
var num,bien,notanum,notacual;
num=parseInt(prompt("Escribe el número total de preguntas",""));
bien=parseInt(prompt("Escribe el número de respuestas acertadas",""));
notanum=parseInt(10*bien/num);
switch(notanum)
{
case 0:
notacual="Muy Deficiente";
break;
case 1:
notacual="Muy Deficiente";
break;
case 2:
notacual="Deficiente";
break;
case 3:
notacual="Deficiente";
break;
case 4:
notacual="Insuficiente";
Ejemplo 3:
<HTML>
<SCRIPT Type=“text/javascript”>
var salida="";
salida=salida+"Enero tiene "+ diasmes(1) +" días\n";
salida=salida+"Febrero tiene "+ diasmes(2) +" días\n";
salida=salida+"Marzo tiene "+ diasmes(3) +" días\n";
salida=salida+"Abril tiene "+ diasmes(4) +" días\n";
salida=salida+"Mayo tiene "+ diasmes(5) +" días\n";
salida=salida+"Junio tiene "+ diasmes(6) +" días\n";
salida=salida+"Julio tiene "+ diasmes(7) +" días\n";
salida=salida+"Agosto tiene "+ diasmes(8) +" días\n";
salida=salida+"Septiembre tiene "+ diasmes(9) +" días\n";
salida=salida+"Octubre tiene "+ diasmes(10) +" días\n";
salida=salida+"Noviembre tiene "+ diasmes(11) +" días\n";
salida=salida+"Diciembre tiene "+ diasmes(12) +" días\n";
alert(salida);
/* Función "diasmes" */
function diasmes(mes)
Do
{ sentencia1; sentencia2; sentencia3 } while(condicion);
Diferencias:
While Do while
Ejemplo 1:
<HTML>
<SCRIPT Type=“text/javascript”>
var x=1;
var salida="while:\n";
while (x<5)
{
x=x+1;
Ejemplo 2:
La llamada sucesión de FIBONACCI es: 0, 1, 1, 2, 3, 5, 8, 13…
<HTML>
<SCRIPT Type=“text/javascript”>
var anterior,ultimo,aux;
anterior=0;
ultimo=1;
var solucion;
solucion="0 - 1";
while (ultimo<=25000000000000)
{
aux=anterior+ultimo;
anterior=ultimo;
ultimo=aux;
if (ultimo>0) solucion=solucion+" - "+ultimo;
}
alert(solucion);
</SCRIPT>
</HTML>
<HTML>
<SCRIPT Type=“text/javascript”>
var fin;
var num=2;
var fact;
var solucion="";
fin=prompt("Factoriales hasta el número?","");
fin=parseFloat(fin);
while (num<=fin)
{
fact=1;
for (i=1;i<=num;i++)
{
fact=fact*i;
}
solucion=solucion+" - "+fact;
num++;
}
alert(solucion);
</SCRIPT>
</HTML>
11. Arrays.
En JavaScript, las matrices son siempre “Arrays”, pero veremos que podemos
“simular” matrices multidimensionales.
Ejemplo 1:
<HTML>
<SCRIPT Type=“text/javascript”>
var x=new Array();
var salida="";
for(i=0;i<=10;i++)
{
x[i]=2*i;
salida=salida+"x["+i+"]="+x[i]+"\t";
}
alert(salida);
</SCRIPT>
</HTML>
Ejemplo 2:
<HTML>
<SCRIPT Type=“text/javascript”>
var n;
var salida="";
n=prompt("Escribe el número de elementos del Array","");
n=parseInt(n);
var Vector=new Array(n);
for(i=0;i<n;i++)
{
Vector[i]=prompt("Introduce Valor","");
salida=salida+Vector[i]+"\n";
}
alert("Los valores de la matriz son:\n"+salida);
</SCRIPT>
</HTML>
Ejemplo 3:
Calcular la media aritmética de una serie indeterminada de valores.
<HTML>
<SCRIPT Type=“text/javascript”>
var x=new Array();
var med;
var y=0;
var i=0;
var sum=0;
while(y != 9999)
{
y=parseFloat(prompt("Introduce un valor\npara acabar escribe 9999","9999"));
Ejemplo 4:
Programa que calcula la media aritmética de un número determinado de
valores utilizando una función.
<HTML>
<SCRIPT Type=“text/javascript”>
function media(n)
{
var x=new Array(n);
var sum=0;
for(i=0;i<n;i++)
{
num=parseFloat(prompt("Escribe un valor de la serie ("+(i+1)+"º):",""));
x[i]=num;
sum=sum+x[i];
}
return sum/n;
}
var valores;
valores=parseInt(prompt("Escribe el número de elementos de la serie",""));
alert("La media de todos los valores es: "+media(valores));
</SCRIPT>
</HTML>
Ejemplo 5:
<HTML>
<SCRIPT Type=“text/javascript”>
var salida="";
var Datos=new Array("Hugo","Yensth","Yaneth");
var Edad=new Array(24,15,26);
alert("La matriz Datos tiene "+Datos.length+" elementos");
Ejemplo 1:
<HTML>
<HEAD>
<SCRIPT Type=“text/javascript”>
function a(x,y)
{
return (parseFloat(x)*parseFloat(y)/2);
}
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#0000FF">
<FONT COLOR="#FF0000">
<H1><P ALIGN="CENTER">Calculo del Área de un Triángulo</H1>
<HR>
</FONT>
<FONT COLOR="#FFFFFF"><P>
<BR>
<HR>
<FONT COLOR="YELLOW">
<FORM>
<P ALIGN="CENTER">
Base del triángulo: <INPUT TYPE="text" SIZE="5" NAME="bas">
<BR>
Altura del triángulo: <INPUT TYPE="text" SIZE="5" NAME="alt"
onBlur="document.forms[0].result.value=a(document.forms[0].bas.value,this.value);">
<BR>
<BR><HR><P ALIGN="CENTER"><B>
Área del triángulo: <INPUT TYPE="text" SIZE="10" NAME="result">
<HR>
</FORM>
</FONT></B>
</BODY>
</HTML>
Ejemplo 2:
<HTML>
<SCRIPT Type=“text/javascript”>
var nom;
nom=prompt("Escribe tu nombre","");
var salida="";
for(i=1;i<=5;i++)
{
salida=salida+"<BR>"+"i= "+i+" Hola "+nom;
}
document.write("<H1><P align='CENTER'>Uso de DOCUMENT.WRITE</H1>");
document.write("<BR><BR>");
document.write(salida);
</SCRIPT>
</HTML>
Ejemplo 3:
<HTML>
<HEAD>
<SCRIPT Type=“text/javascript”>
function MCD(a,b)
{
var resto,aux;
if(a<b)
{
aux=a;
a=b;
b=aux;
}
if ((a%b)==0) resto=b;
while((a%b) !=0)
{
resto=a%b;
a=b;
b=resto;
}
return resto;
}
</SCRIPT>
</HEAD>
<BODY BGCOLOR="YELLOW"><FONT COLOR="RED">
<H1><P ALIGN="CENTER">SIMPLIFICACIÓN DE FRACCIONES</H1>
7. VALIDACIONES.
<!DOCTYPE HTML">
<head>
<meta charset="utf-8">
<style type="text/css">
<!--
body,td,th {
color: #FFFFFF;
}
body {
background-color: #666666;
}
-->
</style>
</head>
<body>
<script type="text/javascript" >
var validar = function(form){
var ok = true;
if(f.nro_telefono.value==''){
alert('Completa el campo nro telefonico')
f.nro_telefono.focus()
ok = false
}else if(!parseInt(f.nro_telefono.value)){
alert('Completa el campo nro telefonico SÓLO CON NÚMEROS')
f.nro_telefono.value = ''
f.nro_telefono.focus()
ok = false
}
if(f.email.value==''){
alert('Completa el campo email')
f.email.focus()
ok = false
}else{
var t = f.email.value.split("")
var g = 0
for(i=0; i<t.length; i++){
if(t[i]=='@')
g++
}
if(g==0 || g>1){
alert('Ingrese una direccion email valida')
f.email.focus()
ok = false
}
}
if(ok==true){
alert('Datos OK')
f.submit()
}
}
</SCRIPT>
JSON
Es una notación de objetos basados en javascript que permite crear objetos de
manera rápida y simple, estos objetos pueden ser utilizados de la manera que
queramos y la notación se utiliza muy comúnmente para crear servicios REST.
var miObjeto = {
"propiedad1" : "propiedadvalor1",
" propiedad2" : " propiedadvalor2",
…,
" propiedadN" : " propiedadvalorN"
};
CASO PRÁCTICO:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<section id="tests">
<h1>USO DE JSON (JavaScript Object Notation)</h1>
<div id="content" >
</div>
</section>
<script type="text/javascript">
var objetos = {"Personas":[
{"nombre":"Hugo","edad":40},
CASO PRÁCTICO:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Eventos con Javascript</title>
</head>
<body>
<form>
<p>
<label>Escribe tu Nombre:
<input type="text" id="Nombre" /></label></p>
<input type="button" id="submit" value="Enviar" />
</form>
<div id="area"></div>
<script type="text/javascript">
function saludo() {
var user = document.getElementById("Nombre").value;
SOLUCIÓN:
1. Core. Las API del núcleo de jQuery le permiten código de marca para su
ejecución una vez que la página ha terminado de cargar, crear elementos
DOM, y el bucle a travésun conjunto de elementos seleccionados.
Introducción a JavaScript
Despliegue secuencial
<!DOCTYPE html>
<html lang="es">
<head>
<title>Manejo Secuencial de Imagenes</title>
<style>
li {
float: left;
list-style: none;
margin: 0 25px 25px 0;
display: none;
}
</style>
</head>
<body>
<a href="#" id="mostrar">Mostrar</a> /<a href="#" id="ocultar">Ocultar</a>
<ul>
<li><img src="eti.jpg"></li>
<li><img src="eti.jpg"></li>
<li><img src="eti.jpg"></li>
<li><img src="eti.jpg"></li>
<li><img src="eti.jpg"></li>
<li><img src="eti.jpg"></li>
Paso 2:
Ubicar las imágenes en la carpeta web del proyecto.
Paso 3: Ingresar:https://github.com/lokesh/lightbox2.git
Paso 5:
Por lo tanto, la estructura del proyecto quedara de la siguiente manera :
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<title>Caso Practico Lightbox</title>
<link href="css/lightbox.min.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<section>
<hr />
<h3>IMAGENES DE PRUEBA</h3>
<pre>Autor : Hugo Mamanchura Lima</pre>
<div>
<a class="example-image-link" href="eti.jpg" data-lightbox="example-set" data-
title="Cerrar."><img class="example-image" src="eti.jpg" alt="" /></a>
<a class="example-image-link" href="eti2.jpg" data-lightbox="example-set" data-
title="Cerrar."><img class="example-image" src="eti2.jpg" alt="" /></a>
CONTENIDO TEÓRICO.
Validación restringida
Los atributos min y max del elemento <input> restringen los valores máximos y
mínimos que pueden ser ingresados.
El atributo step del elemento <input> (cuando se usa en combinación con los
atributos min y max) restringe la granularidad de los valores ingresados. Un
valor que no se corresponda con un valor permitido no será validado.
Los valores url y email para type restringen el valor para una URL o dirección
de correo válida respectivamente.
Caso Práctico 1.
Caso Práctico 2.
Ejemplo 2:
<!doctype="html>
<input id="percentage" type="number"
min="0" max="100" />
Caso Práctico 3.
<!DOCTYPE html>
<html>
<head>
<title> Validacion de formulario </title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<form id="registerForm" method="post" action="pagina.html">
<div id="firstNameField" class="field"><label for="firstName">Nombre </label>
<input id="firstName" name="firstName" required="required" placeholder="Ing. tu
nombre" />
<input type="submit" name="btnproesar" value="Procesar">
<span style="color:red">*</span>
</div> ...
</form>
</body>
</html>
Caso Práctico 4.
<!DOCTYPE html>
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
</head>
<body>
<script>
function isAnInteger( text ){
var intTestRegex = /^\s*(\+|-)?\d+\s*$/;
Paso 1:
<!DOCTYPEhtml>
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
Paso 2:
Crear una página de Bienvenido con el login.aspx
<!DOCTYPEhtml>
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style>
input {
background-color:white;
}
input:invalid {
background-color:orange;
}
<!DOCTYPEhtml>
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style>
.inputValid {
background-color: yellow;
}
.inputInvalid {
background-color: orange;
}
</style>
<scripttype="text/javascript">
function isNumber(text) {
var TestRegex = /[0-9]{1,}/;
return String(text).search(TestRegex) != -1;
}
function validateForm() {
var textbox = document.getElementById("ndocumento");
if (isNumber(document.getElementById("ndocumento").value)) {
textbox.className = "inputValid";
returntrue;
}
textbox.className = "inputInvalid";
</script>
</head>
<body>
<form id="dataForm"method="post"action="register.aspx"
onsubmit="return validateForm();">
<div>
<input id="ndocumento"type="text"/>
</div>
<input type="submit"value="Enviar Datos"/>
</form>
</body>
</html>
Paso 1:
<!DOCTYPE html>
<htmllang="en">
<head>
<meta charset="utf-8"/>
<title>Registrese para la conferencia</title>
<link href="/styles/site.css"rel="stylesheet"type="text/css"/>
<link href="/styles/pages/register.css"rel="stylesheet"type="text/css"/>
</head>
<body>
<navclass="page-nav">
<divclass="container">
<ahref="/inicio.htm">Inicio</a>
<ahref="/acerca.htm">Acerca</a>
<ahref="/registre.htm">Registrese</a>
</div>
</nav>
<headerclass="page-header">
<divclass="container">
<h1>Senati-Eti</h1>
<pclass="tag-line">conferencia de HTML5 desarroladores web</p>
</div>
<sectionclass="page-section register">
<divclass="container">
<h1>Registrese para la Conferencia</h1>
<formmethod="post"action="/registration/new"id="registration-form">
<divclass="field">
<labelfor="first-name">Nombre:</label>
<inputtype="text"id="first-
name"name="FirstName"required="required"autofocus="autofocus"/>
</div>
<divclass="field">
<labelfor="last-name">Mamanchura:</label>
<inputtype="text"id="last-name"name="LastName"required="required"/>
</div>
<divclass="field">
<labelfor="email-address">Direccion:</label>
<inputtype="email"id="email-address"name="EmailAddress"required="required"/>
</div>
<divclass="field">
<labelfor="password">Password:</label>
<inputtype="password"id="password"name="Password"required="required"pattern="[a-
zA-Z0-9]{5,}"title="At least 5 letters and numbers"/>
</div>
<divclass="field">
<labelfor="confirm-password">Clave:</label>
<inputtype="password"id="confirm-
password"name="ConfirmPassword"required="required"/>
</div>
<divclass="field">
<labelfor="website">blog:</label>
<inputtype="url"id="website"name="WebsiteUrl"placeholder="http://"/>
</div>
<div>
<buttontype="submit">Registrese</button>
</div>
</form>
</div>
</section>
<footerclass="page-footer">
<divclass="container">
<p>
Por Hugo Mamanchura Lima</p>
<address>
Conferencia Central <br/>
</body>
</html>
<linkhref="/styles/site.css"rel="stylesheet"type="text/css"/>
Codificar:
/*estilos*/
html {
/*font-size 62.5%*/
font-size: 62.5%;
font-family: Calibri, Arial, sans-serif;
background-color: #EAEEFA;
}
body {
margin: 0;
/*Default font-size tabulado 18px*/
font-size: 1.8rem;
}
.container {
padding: 01rem;
max-width: 94rem;
/*Horizontal centro contenido*/
margin: 0auto;
}
nav {
nava {
color: #fff;
padding: 1rem;
}
h1 {
font-size: 4rem;
letter-spacing: -1px;
margin: 1em0.25em0;
}
.registerform {
max-width: 40rem;
}
.register.field {
margin-bottom: 1rem;
}
.registerlabel {
display: block;
}
.registerinput {
display: block;
padding: .5rem;
width: 100%;
box-sizing: border-box;
}
.registerbutton {
padding: .5rem;
}
.registerform.submission-attemptedinput:invalid {
background-color: #f9b2b2;
outline: none;
}
<!DOCTYPEhtml>
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style>
#contenedorprincipal {
width:50%;
height:200px;
}
#contenedorizquierda {
width:50%;
height:200px;
background-color:beige;
float:left;
overflow:auto;
}
#contenedorderecha {
width:50%;
height:200px;
background-color:orange;
float:left;
overflow:auto;
}
</style>
<!--definamos el script para soltar los objetos
definiendo el elemento a arrastrar y capturando el ID
-->
<scripttype="text/javascript">
function evdragstar(ev) {
ev.dataTransfer.setData("text", ev.target.id);
}
//eliminamos el comportamiento por defecto del contenedor
function evdragover(ev) {
ev.preventDefault();
}
//funcion para hacer que elemento arrastrado se quede en el receptor seleccionado
function evdrop(ev, e1) {
//anula el comportamiento por defecto del elemento
ev.stopPropagation();
//anula el comportamiento por defecto del navegador
ev.preventDefault();
data = ev.dataTransfer.getData("text");
//agregamos el elemento arrastrado el contenedor destino
//appendChild es agregar
ev.target.appendChild(document.getElementById(data));
}
</script>
</head>
<body>
<divid="contenedorprincipal">
<divid="contenedorizquierda"ondragover="evdragover(event)"
draggable="true"ondragstart="evdragstar(event)"
ondrop="evdrop(event)">
<pid="e1"draggable="true"ondragstart="evdragstar(event)">
Elemento arrastrable
</p>
<h5id="e2"draggable="true"ondragstart="evdragstar(event)">
Otro Elemento arrastrable
</h5>
<ulid="e3"draggable="true"ondragstart="evdragstar(event)">
<li>Primer Elemento</li>
<li>Segundo Elemento</li>
</ul>
</div>
<divid="contenedorderecha"ondragover="evdragover(event)"ondrop="evdrop(event,thi
s)">
<imgsrc="image/espana.gif"id="e4"draggable="true"ondragstart="evdragstar(event)"/>
<imgsrc="image/europa.gif"id="e5"draggable="true"ondragstart="evdragstar(event)"/>
<imgsrc="image/italia.gif"id="e6"draggable="true"ondragstart="evdragstar(event)"/>
</div>
</div>
</body>
</html>
INSERTANDO AUDIO.
La etiqueta Audio:
Autobuffer. Permite cargar de forma automática el archivo para que sea más
rápida su reproducción a posteriori y reducir así tiempos de espera para el
usuario.
La etiqueta Video:
En el caso de la etiqueta de video, atributos son muy similares a los de la
etiqueta audio. Ejemplo de su sintáxis.
<video src=”video.ogg”>
<!– Código a mostrar en navegadores que no soportan HTML 5 –>
</video>
Estructura sencilla:
CASO PRÁCTICO:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type"content="text/html; charset=utf-8"/>
<title>Insercion de Video</title>
</head>
<body>
<h2>Insercion Audio de Forma sencilla </h2>
<br/>
<audio src="recursos/eroz.mp3"controls></audio>
</body>
</html>
CASO PRÁCTICO:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</video>
</body>
</html>
reader.readAsText(archivo.files[0]);
} else {
alert("Seleccione un archivo válido");
}
};
</script>
</body>
</html>
- Preparación de un canvas.
- Dibujando en el lienzo.
- Creación de interactividad gráfica usando usando SVG.
- Programando objeto gráfico usando Canvas API.
- Storage.
- Creación de objetos gráficos.
CASO PRÁCTICO:
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function retornarLienzo(x)
{
var canvas = document.getElementById(x);
if (canvas.getContext)
{
var lienzo = canvas.getContext("2d");
return lienzo;
}
else
return false;
}
function dibujar()
{
var lienzo=retornarLienzo("lienzo1");
if (lienzo)
{
lienzo.fillStyle = "rgb(200,0,0)";
lienzo.fillRect (10, 10, 100, 100);
}
}
</script>
</head>
<body onLoad="dibujar()">
<canvas id="lienzo1" width="300" height="200">
Resultado:
CASO PRÁCTICO:
<!DOCTYPEHTML>
<head>
<scripttype="text/javascript">
function retornarLienzo(x) {
var canvas = document.getElementById(x);
if (canvas.getContext) {
var lienzo = canvas.getContext("2d");
return lienzo;
}
else
returnfalse;
}
function dibujar() {
var lienzo = retornarLienzo("lienzo1");
if (lienzo) {
lienzo.strokeStyle = "rgb(200,0,0)";
//Inicio de camino
lienzo.beginPath();
lienzo.moveTo(0, 0);
lienzo.lineTo(150, 300);
lienzo.lineTo(300, 0);
//Trazar linea
lienzo.stroke();
Resultado:
CASO PRÁCTICO:
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function retornarLienzo(x) {
var canvas = document.getElementById(x);
if (canvas.getContext) {
var lienzo = canvas.getContext("2d");
return lienzo;
} else
return false;
}
function dibujar() {
var lienzo1=retornarLienzo("lienzo1");
if (lienzo1) {
RESULTADO:
CASO PRÁCTICO:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Graficos con SVG </title>
</head>
<body>
<svg>
<circle cx="120"cy="80"r="40" stroke="blue" fill="red">
</circle>
<circle cx="160"cy="80"r="40" stroke="blue" fill="yellow">
</circle>
</svg>
<svg>
<ellipse cx="150" cy="60" rx="110" ry="30" stroke="blue" fill="red">
</ellipse>
<ellipsecx="250"cy="60"rx="140"ry="30"stroke="blue"fill="url(#graradial)"></ellipse>
</svg>
<svg>
<rectx="70"y="70"width="100"height="50"fill="url(#gralineal)"stroke="black"></rect>
</svg>
<svg>
<linearGradient id="gralineal" x1="0%" y1="0%" x2="100%" y2="75%">
<stop offset="0.2" stop-color="red"></stop>
<stop offset="1.0" stop-color="black"></stop>
</linearGradient>
<radialGradientid="graradial"fx="0.2"fy="0.7">
<stop offset="0.3"stop-color="yellow"></stop>
<stop offset="1.0"stop-color="red"></stop>
</radialGradient>
</svg>
<svg>
<polygon points="50,50 250,50 150,200">
</polygon>
<ellipse cx="150"cy="50"rx="100"ry="20" fill="url(#graradial)">
</ellipse>
<circle cx="150" cy="250" r="50" fill="url(#graradial)"></circle>
</svg>
</body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function retornarLienzo(x) {
var canvas = document.getElementById(x);
if (canvas.getContext) {
var lienzo = canvas.getContext("2d");
return lienzo;
} else
return false;
}
function dibujar() {
var lienzo=retornarLienzo("lienzo1");
if (lienzo) {
lienzo.clearRect(0,0,600,600);
lienzo.save();
lienzo.fillStyle="rgb(255,0,0)";
lienzo.translate(300,300);
lienzo.rotate(avance);
lienzo.fillRect(-100,-100,200,200);
lienzo.restore();
avance+=0.05;
if (avance>Math.PI*2)
avance=0;
}
}
var avance=0;
function inicio() {
setInterval(dibujar,50);
}
</script>
</head>
<body onLoad="inicio()">
<canvas id="lienzo1" width="600" height="600">
Su navegador no permite utilizar canvas.
</canvas>
</body>
</html>
</body>
</html>
Resultado:
19. STORAGE.
<!DOCTYPE HTML>
<html>
<head>
<title>Prueba</title>
<script>
window.addEventListener('load', inicio, false);
function inicio() {
document.getElementById('guardar').addEventListener('click', guardar, false);
document.getElementById('traducir').addEventListener('click', recuperar, false);
}
function guardar(evt) {
localStorage.setItem(document.getElementById('ingles').value,
document.getElementById('castellano').value);
document.getElementById('ingles').value='';
document.getElementById('castellano').value='';
}
function recuperar(evt) {
if (localStorage.getItem(document.getElementById('ingles').value) == null)
alert('No está almacenala la palabra '+document.getElementById('ingles').value);
else
document.getElementById('castellano').value=localStorage.getItem(document.getElem
entById('ingles').value);
}
</script>
</head>
<body>
Palabra en ingles:
<input type="text" id="ingles">
<input type="button" id="traducir" value="Traducir">
<br>
Palabra en castellano:
<input type="text" id="castellano">
<br>
<input type="button" id="guardar" value="Guardar">
</body>
</html>
Resultado:
CASO PRÁCTICO:
<!DOCTYPEHTML>
<html>
<head>
<scripttype="text/javascript">
function retornarLienzo(x) {
var canvas = document.getElementById(x);
if (canvas.getContext) {
var lienzo = canvas.getContext("2d");
return lienzo;
} else
returnfalse;
}
var fila = 0;
function dibujar() {
var lienzo = retornarLienzo("lienzo1");
if (lienzo) {
lienzo.clearRect(0, 0, 300, 300);
lienzo.strokeStyle = "rgb(255,0,0)";
lienzo.beginPath();
lienzo.moveTo(0, 150);
lienzo.quadraticCurveTo(150, fila, 300, 150);
lienzo.stroke();
fila++;
if (fila > 300)
fila = 0;
}
}
function iniciar() {
setInterval(dibujar, 10);
}
</script>
</head>
<bodyonLoad="iniciar()">
<canvasid="lienzo1"width="300"height="300">
Su navegador no permite utilizar canvas.
</canvas>
</body>
</html>
function dibujar() {
var lienzo=retornarLienzo("lienzo1");
if (lienzo) {
lienzo.clearRect(0,0,600,600);
lienzo.save();
lienzo.translate(300,300);
lienzo.rotate(avance);
lienzo.scale(tamx,tamy);
lienzo.drawImage(img1,-125,-125);
avance+=0.05;
tamx+=0.01;
tamy+=0.01;
if (avance>Math.PI*2)
avance=0;
if (tamx>=10) {
tamx=0.01;
tamy=0.01;
}
lienzo.restore();
}
}
var avance=0;
var img1;
var tamx=0.01;
var tamy=0.01;
function inicio() {
img1 = new Image();
img1.src = 'eti.jpg';
Resultado:
<!DOCTYPE HTML>
<html>
<head>
<title>Semana 4 - html5 </title>
<meta charset="utf-8">
<style>
#recuadro {
width:300px;
height:50px;
background-color:yellow;
border-style:solid;
border-color:red;
font-size:1.5em;
}
#palabras span {
font-size:1.5em;
}
</style>
<script>
Resultado:
<!DOCTYPE HTML>
<html>
<head>
<title>Prueba</title>
<style>
#caja {
margin: 10px;
width: 350px;
height: 350px;
border: 5px dashed gray;
border-radius: 8px;
background: rgb(230,230,230);
background-repeat: no-repeat;
background-size: 100%;
}
</style>
<script>
window.addEventListener('load', inicio, false);
function inicio() {
document.getElementById('caja').addEventListener('dragover', permitirDrop, false);
document.getElementById('caja').addEventListener('drop', drop, false);
}
function drop(ev)
{
ev.preventDefault();
var arch=new FileReader();
arch.addEventListener('load',leer,false);
arch.readAsDataURL(ev.dataTransfer.files[0]);
}
function permitirDrop(ev)
{
ev.preventDefault();
}
function leer(ev) {
<body>
<p>Arrastrar una imagen desde el escritorio.</p>
<div id="caja">
</div>
</body>
</html>
RESULTADO:
<!DOCTYPE html>
<html>
<head>
<title>CSS Transiciones </title>
<meta charset="utf-8">
<style type="text/css">
div {
font-family: verdana, arial;
font-size: small;
width: 400px;
height: 60px;
padding: 10px 10px;
margin: 10px;
background-color: yellow;
border-radius: 5px;
}
div.simple {
transition: width 2s, height 2s, font-size 2s, background-color 3750ms;
}
div.complex {
transition-property: width, height, font-size, background-color;
transition-duration: 2s, 2s, 2s, 3750ms;
transition-timing-function: ease-in;
transition-delay: 1s;
}
div:hover {
width: 600px;
height: 80px;
font-size: large;
background-color: red
}
select {
width: 420px;
margin: 10px;
}
button {
display: block;
margin:10px;
}
</style>
<script>
function onLoad() {
initMessagesList();
var divElements = document.querySelectorAll("div");
for (var i = 0; i < divElements.length; i++) {
divElements[i].addEventListener("transitionend", onTransitionend, true);
}
}
function onTransitionend(e) {
messages.add(new Option(e.propertyName + ", Tiempo Trasncurrido " +
e.elapsedTime));
}
function initMessagesList() {
messages.innerHTML = "";
messages.add(new Option("---Para visualizar los eventos transicion---"));
}
</script>
</head>
<body onload="onLoad()">
<select id="messages"></select>
RESULTADO:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>2D Rotaciones</title>
<style>
div {
font-family: verdana, arial;
font-size: small;
width: 400px;
height: 60px;
background-color: yellow;
border-radius: 5px;
}
.rotate1 {
transform: rotate(10deg);
-ms-transform: rotate(10deg);
-webkit-transform: rotate(10deg);
-moz-transform: rotate(10deg);
-o-transform: rotate(10deg);
}
.rotate2 {
transform: rotate(-10deg);
-ms-transform: rotate(-10deg);
-webkit-transform: rotate(-10deg);
-moz-transform: rotate(-10deg);
-o-transform: rotate(-10deg);
}
.rotate3 {
transform: rotate(-0.5rad);
-ms-transform: rotate(-0.5rad);
-webkit-transform: rotate(-0.5rad);
-moz-transform: rotate(-0.5rad);
-o-transform: rotate(-0.5rad);
}
.translateAndRotateAboutTopLeft {
transform: translate(100px, 100px) rotate(10deg);
-ms-transform: translate(100px, 100px) rotate(10deg);
-webkit-transform: translate(100px, 100px) rotate(10deg);
-moz-transform: translate(100px, 100px) rotate(10deg);
-o-transform: translate(100px, 100px) rotate(10deg);
</style>
</head>
<body>
<div class="rotate1">
Gire 10 grados a la derecha(about center-point).<br>
<br/><br/>
<div class="rotate2">
Girar 10 grados en sentido antihorario (about center-point).<br>
transform: rotate(-10deg);
</div>
<br/><br/>
<div class="rotate3">
Gire en sentido antihorario 0,5 radianes(about center-point).<br>
transform: rotate(-0.5rad);
</div>
<div class="translateAndRotateAboutTopLeft">
Traducir y luego gire (about top-left corner).<br>
transform: translate(100px, 100px) rotate(10deg);
transform-origin: left top;
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>3D Transformations</title>
<style>
div {
width: 200px;
height: 200px;
font-family: arial;
font-size: 40pt;
text-align: center;
position: absolute;
}
#container {
margin: 400px;
perspective: 200px;
-webkit-perspective: 200px;
-moz-perspective: 200px;
-o-perspective: 200px;
#container:hover {
transform: rotate(90deg);
}
#rightFace {
background-color: yellow;
transform: translateX(-100px) rotateY(90deg) translateZ(200px);
-webkit-transform: translateX(-100px) rotateY(90deg) translateZ(200px);
-moz-transform: translateX(-100px) rotateY(90deg) translateZ(200px);
-o-transform: translateX(-100px) rotateY(90deg) translateZ(200px);
}
#bottomFace {
background-color: red;
transform: translateY(-100px) rotateX(90deg) rotateY(180deg)
translateZ(200px);
-webkit-transform: translateY(-100px) rotateX(90deg) rotateY(180deg)
translateZ(200px);
-moz-transform: translateY(-100px) rotateX(90deg) rotateY(180deg)
translateZ(200px);
-o-transform: translateY(-100px) rotateX(90deg) rotateY(180deg)
translateZ(200px);
}
#backFace {
background-color: green;
transform: rotateY(180deg) translateZ(100px);
-webkit-transform: rotateY(180deg) translateZ(200px);
-moz-transform: rotateY(180deg) translateZ(200px);
-o-transform: rotateY(180deg) translateZ(200px);
}
#frontFace {
background-color: rgba(0, 0, 255, 0.25);
transform: translateZ(100px);
-webkit-transform: translateZ(100px);
</style>
<script>
function onChangePerspective() {
var container = document.getElementById("container");
alert(container.style["msPerspective"]);
}
</script>
</head>
<body>
<div id="container">
<div id="rightFace">Derecha</div>
<div id="leftFace">Izquierda</div>
<div id="topFace">Arriba</div>
<div id="bottomFace">Fondo</div>
<div id="backFace">Espalda</div>
<div id="frontFace">Frente</div>
</div>
</html>
RESULTADO:
<style>
.container {
width:996px;
margin:0px auto;
font-size:1em;
}
section,aside {
padding: 10px;
background:#ccc;
-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-
radius:5px;border-radius:5px;
}
section {
float: left;
width: 70%;
}
aside {
float: right;
width: 25%;
}
nav {
overflow: hidden;
}
</head>
<body>
<div class="container">
<header>
<h1>Ejemplo web Senati - Responsive</h1>
<header>
<nav>
<ul>
<li>menu 1</li>
<li>menu 2</li>
<li>menu 3</li>
<li>menu 4</li>
</ul>
<ul>
<li>menu 5</li>
<li>menu 6</li>
<li>menu 7</li>
<li>menu 8</li>
</ul>
</nav>
<section>
<b>Aqui va todo el contenido...
<p>
<br>Este meta tag se utiliza para controlar cómo aparecerá el contenido HTML en los
navegadores móviles. Así nos aseguramos que el contenido se ajusta al ancho del
dispositivo. En este caso estamos indicando que el contenido tendrá el ancho del
dispositivo y que la escala inicial es de 1
</p>
<p>
Aqui va todo el contenido....
Las propiedades que más nos interesan son las siguientes:
<ul>
a) <b>width y height</b> Ancho y alto del navegador (podemos añadir el prefijo min- o
max-)<br>
b) <b>width y height</b> Ancho y alto del dispositivo, móviles y tablets (podemos
añadir el prefijo min- o max- )<br>
c) <b>orientation</b> Orientación del móvil o tablet (para panorámico utilizaremos
orientation:portrait, para vertical orientation:landscape)
</ul>
</p>
<p>
<b>@media screen and (max-width:980px)</b> Se utiliza para definir un tamaño o
inferior. En este caso, para 980px o menos.
</p>
</p>
</section>
<aside>Aparte</aside>
<footer>
<a href="http://www.senati.edu.pe/eti/">Senati - Eti (Pie de pagina) </a>
</footer>
</div>
</body>
</html>
RESULTADO:
23. GEOLOCALIZACIÓN.
<!DOCTYPE HTML>
<html>
<head>
<title>Prueba</title>
<script type="text/javascript">
function inicio() {
document.getElementById('obtener').addEventListener('click',
recuperarLocalizacion, false);
}
function recuperarLocalizacion() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(mostrarCoordenada);
} else {
function mostrarCoordenada(posicion) {
document.getElementById('dato').innerHTML='Latitud:'+
posicion.coords.latitude+
'<br> Longitud:'+posicion.coords.longitude+
'<br>Exactitud:'+posicion.coords.accuracy;
}
</script>
</head>
<body>
<input type="button" id="obtener" value="Obtener la localización actual">
<br>
<span id="dato"></span>
</body>
</html>
Resultado:
<script type="text/javascript">
function inicio() {
document.getElementById('obtener').addEventListener('click',
recuperarLocalizacion, false);
}
function recuperarLocalizacion() {
function mostrarCoordenada(posicion) {
var direccion = posicion.coords.latitude + "," + posicion.coords.longitude;
var mapa = "http://maps.googleapis.com/maps/api/staticmap?center="
+direccion+"&zoom=14&size=500x500&sensor=false";
document.getElementById("dato").innerHTML = "<img src='"+mapa+"'>";
}
</script>
</head>
<body>
<input type="button" id="obtener" value="Obtener la localización actual en Google
Maps">
<br>
<div id="dato"></div>
</body>
</html>
RESULTADO:
<!DOCTYPEhtml>
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<scripttype="text/javascript">
function localizacion() {
d = document.getElementById("demo");
if (navigator.geolocation) {
function mostrarPosicion(position) {
function mostrarError(error) {
switch (error.code) {
case error.PERMISSION_DENIED:
d.innerHTML += "<p>Permiso Denegado</p>"
break;
case error.POSITION_UNAVAILABLE:
d.innerHTML += "<p>Permiso Disponible</p>"
break;
case error.POSITION_TIMEOUT:
d.innerHTML += "<p>Tiempo Agotado</p>"
break;
case error.POSITION_UNKNOWN_ERROR:
d.innerHTML += "<p>Permiso Denegado</p>"
break;
}
}
}
</script>
</head>
<body>
<divid="geo1">
<h1>Clases - Senati</h1>
<buttononclick="localizacion()">Capturar Localización</button>
<divid="demo">
</div>
</div>
</body>
</html>
Resultado:
MARCO TEÓRICO.
Geolocalización.
Se refiere al posicionamiento con el que se define la localización de un objeto
espacial (representado mediante punto, vector, área, volumen) en un sistema
de coordenadas y dato determinado. Este proceso es utilizado
frecuentemente en los Sistemas de Información Geográfica Hace referencia a
conocer nuestra ubicación geográfica automáticamente. Hay varias maneras
de que esto suceda, y como es natural, los dispositivos móviles son los que
más fácil permiten la actualización de nuestra posición, por su portabilidad.
Google Earth:
LA FUNCIÓN NAVIGATOR.GEOLOCATION.GETCURRENTPOSITION.
navigator.geolocation.getCurrentPosition(funcExito, funcError,
opciones);
Esta función tiene tres parámetros (los dos últimos opcionales):
EL OBJETO POSITION
Es el objeto que nos indicará la ubicación del usuario si el navegador puede
determinarla. Este objeto consta de los siguientes atributos
Navegador Versión
Opera 10.6+
Internet Explorer 9+
Chrome 5+
Firefox 3.5+
CUESTIONARIO TEÓRICO:
1. ¿Qué es el Responsive Web Design o Diseño Web Adaptable?
2. ¿Por qué es importante el Diseño Web Adaptable?
3. ¿Qué navegadores soportan los Media Query?
4. ¿Qué es un Meta tags?
5. Diseñar una página en forma libre o guiandose del caso práctico realizado y
testear su adaptabilidad.
CUESTIONARIO PRÁCTICO
Crear una página web donde se muestre información sobre la ciudad
conteniendo un mapa interactivo de Google Maps, de acuerdo con esta
estructura para el documento HTML.