la web desde cero (ii) · manipulación del dom métodos métodos usados para: addclass() añade...

45
La Web desde cero (II) JavaScript en su salsa con JQuery

Upload: others

Post on 02-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

La Web desde cero (II) JavaScript en su salsa

con JQuery

Page 2: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Marc Rubiño

Web: http://mrubino.net Blog: http://geeks.ms/blogs/mrubino Twitter: @Marc_Rubino

Page 3: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Las cosas claras

y

el chocolate espeso

Page 4: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

¿ Qué es JavaScript ?

Page 5: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

JavaScript JScript

Lenguajes scripts en los Navegadores

Page 6: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

ECMA-262

• La especificación

• lenguaje ECMAScript

• Soportado por la mayoría de navegadores

Page 7: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

¿ Qué es DOM ?

Page 8: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

DOM

• Document Object Model

▫ Modelo de objetos de los documentos

Html

XHtml

XML

▫ Para acceder al documento

▫ Para modificar el documento

Page 9: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

¿ Qué es AJAX ?

Page 10: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

¿ Qué es AJAX ?

• Asynchronous JavaScript And XML

• ## No es ASP.NET AJAX ##

• Llamadas asíncronas

• Cargas Parciales

• XMLHttpRequest

Page 11: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

¿ Qué es ASP.NET AJAX ?

Page 12: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

¿ Qué es ASP.NET AJAX ?

• AJAX con ASP.NET

• Controles de cliente "JavaScript"

• Controles de servidor.

• Cargas parciales páginas ASP.NET

Page 13: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

¿ Qué es ASP.NET AJAX

Control Toolkit ?

Page 14: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

ASP.NET AJAX Control Toolkit

• Proyecto Open-Source

• Utiliza ASP.NET AJAX

• kit de controles y extensores

• http://asp.net/ajax/ajaxontroltoolkit/samples

Page 15: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

¿ Qué es JQuery ?

Page 16: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

JQuery

• Librería JavaScript

• Encapsula la complejidad del lenguaje

• Extensible - Plugins

• Utiliza AJAX

• Animaciones

• Gestión de eventos

Page 17: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Principales librerías Scripts

• Prototype

• MooTools

• JQuery

• Dojo

• Modernirzr

• ASP.NET AJAX

Page 18: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Resumiendo

Page 19: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Resumiendo

• AJAX

▫ Peticiones Asíncronas XMLHttpRequest

• ASP.NET AJAX

▫ Microsoft AJAX para ASP.NET

▫ ASP.NET AJAX Control-Toolkit

• JavaScript

▫ Estándar EcmaScript

• JQuery

▫ Librería JavaScript

Page 20: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

JQuery en su salsa

Page 21: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Principales Características

• Ligero y fácil

▫ Versión reducida – Minified & Gzipped

• Potentes Selectores

▫ Compatibles con CSS 1-3

• Cross-Browser

▫ IE , FF, Safari, Opera y Chrome

• Extensible

▫ Plugin

Page 22: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Principales Características

• Librerías UI

▫ Jquery User Interface

▫ Efectos

▫ Controles

▫ Themas

Page 23: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Ejemplo

Page 24: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Selectores

Page 25: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Selectores Selector Elementos que Selecciona...

* Todos los elementos. #id El elemento con el ID dado. element Todos los elementos del tipo dado. .class Todos los elementos con la clase dada. a, b Elementos que coincidan con la a o con b. a b Elementos b que son descendientes de a. a > b Elementos b que son hijos de a. a + b Elementos b a continuación de a. a ~ b Elementos que son hermanos de a.

Page 26: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Selectores Selector Elementos que Selecciona...

first El primer elemento en el conjunto resultado. :last El último elemento en el conjunto resultado :even Elementos pares en el conjunto resultado (en base 0). :odd Elementos impares en el conjunto resultado (en base 0). :eq (index) Un elemento numerado en el conjunto resultado (en base 0). first El primer elemento en el conjunto resultado. :last El último elemento en el conjunto resultado

Page 27: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Selectores Selector Elementos que Selecciona...

:header Elementos de encabezado (por ejemplo. <h1>, <h2>) :animated Elementos con una animación en progreso. : contains(text) Elementos que contienen el texto facilitado. :empty Elementos sin nodos hijos.

:has (a) Elementos que contienen un elemento descendientes que coincide con a.

:parent Elementos que tienen nodos hijos.

:hidden Elementos que están ocultos por medio de CSS o porque son <input type="hidden" />.

Page 28: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Selectores Selector Elementos que Selecciona...

[attr] Elementos que tienen el atributo attr. [attr=value] Elementos cuyo atributo attr es value. [attr^=value] Elementos cuyo atributo attr empieza con value. :first-child Elementos que son el primer hijo de su padre. :checkbox Elementos <input> con type="checkbox". :image Elementos <input> con type="image". :disable Elementos de formulario desactivados. :checked Casillas de verificación y botones de opción seleccionados. :selected Elementos <option> seleccionados.

Page 29: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Manipulación DOM

Page 30: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Manipulación del DOM Métodos Métodos usados para:

addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento. html() Obtiene el contenido html del primer elemento. val() Obtiene el valor del primer elemento. removeProp() Elimina la propiedad del elemento. add() Añade un nuevo elemento. children() Obtiene el elemento hijo. first() Obtiene el primer elemento. next() Obtiene el siguiente elemento disponible.

Page 31: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Ejemplo

Page 32: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Eventos

Page 33: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Eventos

• Se pueden lanzar

• Se puede enlazar una función

• Tantos eventos como en JavaScript sin «on-»

▫ focus()

▫ blur()

▫ keyup()

▫ mouseover()

▫ …

Page 34: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Eventos

• bind()

▫ Permite asociar un número ilimitado de eventos a un mismo elemento.

• toggle()

▫ La ejecución se alterna en función de las veces que se pincha sobre el elemento.

Page 35: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Ejemplo

Page 36: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Animaciones

Page 37: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Animaciones Métodos Métodos usados para:

hide() Oculta el elemento. show() Muestra el elemento. stop() Para la animación actual. fadeIn() Muestra el elemento con una animación. fadeOut() Oculta el elemento con una animación. animate() Personaliza una animación

Page 38: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Llamadas AJAX

Page 39: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

JQuery AJAX

• Limitaciones con Cross-domain

• Tipos de Datos

▫ Texto

▫ Html

▫ Xml

▫ Script

▫ Json

▫ JsonP «cross-domain»

Page 40: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Animaciones

Page 41: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

JQuery AJAX

• Función principal ▫ $.ajax()

• Propiedades ▫ async ▫ beforeSend ▫ complete ▫ contentType ▫ data ▫ dataType ▫ error ▫ success ▫ type ▫ url

Page 42: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

JQuery AJAX

• jQuery.get( url, [data], [callback], [type] )

▫ Llamadas GET

• jQuery.post( url, [data], [callback], [type] )

▫ Llamadas POST

• jQuery.getJSON( url, [data], [callback] )

▫ Llamadas que retornan datos JSon

• $.ajaxStart()

• $.ajaxEnd()

Page 43: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Ejemplo

Page 44: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Plugins

Page 45: La Web desde cero (II) · Manipulación del DOM Métodos Métodos usados para: addClass() Añade una clase al elemento o elementos. attr() Obtiene el atributo del primer elemento

Marc Rubiño

Web: http://mrubino.net Blog: http://geeks.ms/blogs/mrubino Twitter: @Marc_Rubino