SlideShare une entreprise Scribd logo
1  sur  67
Télécharger pour lire hors ligne
jQuery
Desarrollo de aplicaciones web
jQuery
●   Es un framework Javascript
●   El proposito es facilitar la inclusion de
    Javascript en un sitio o aplicacion web
●   Podemos verlo como una capa de abstraccion
    ●   Transforma muchas lineas de codigo Javascript, en
        funciones mas simples
●   NO reemplaza a Javascript, sino que simplifica
    su sintaxis
jQuery
●   Existen multiples alternativas a jQuery
●   Sin embargo, hoy dia es una de las mas
    populares en el mercado
●   Asimismo es una de las mas extensibles,
    pudiendose encontrar plugins para casi
    cualquier tarea en la web
Utilizando jQuery
●   Para utilizarlo, debemos incluirlo en las paginas
    en las que vamos a utilizarso
●   Podemos descargar el framework desde
    www.jquery.com
●   Agregamos una referencia al archivo
    descargado, en el head de la pagina
    ●   <script type="text/javascript"
               src="jquery-1.5.1.js"></script>
Utilizando jQuery
●   Debemos agregar en el head esta referencia:


    <head>
      <title>jQuery test</title>
      <script type="text/javascript"
              src="jquery-1.5.1.js"></script>
    </head>
Hello world!
●   Este es un ejemplo de uso de jQuery:


    <div id="divTest1"></div>
    <script type="text/javascript">
        $("#divTest1").text("Hello, world!");
    </script>

●   Esto carga en el divTest1, el string “Hello, world!”
Hello world!
●   El equivalente sin jQuery, es un poco mas largo


    <div id="divTest2"></div>
    <script type="text/javascript">
         document.getElementById("divTest2").innerHTML =
                "Hello, world!";
    </script>

●   Ademas, es dependiente del browser
Ready event
●   El ejemplo anterior manipula el contenido de la
    pagina
●   Es buena practica esperar a que el documento
    este cargado y pronto para ser utilizado
●   Esto permite
    ●   Que las estructuras de la pagina esten cargadas
        antes de comenzar a utilizarlas
    ●   Que el codigo Javascript pueda ser colocado al
        comienzo de la pagina
Ready event
Ready event (funcion anonima)
Encadenamiento
●   Una caracteristica interesante de jQuery, es
    que la mayoria de los metodos, retornan un
    objeto jQuery
●   Esto permite realizar cadenas de invocaciones,
    como por ejemplo:
Encadenamiento
●   Podemos hacer que el codigo se vea mas
    intuitivo, como por ejemplo:
Selectores
●   Una de las tareas mas comunes al usar
    Javascript, es modificar el contenido de la
    pagina
●   Pero para hacer esto, necesitamos encontrar lo
    que queremos cambiar
●   Es para esto que se utilizan los selectores
●   Para elegir un conjunto de elementos, hacemos
       $(<query para seleccionar>)
#id
●   Utiliza el identificador de un elemento en la
    pagina, el cual debe ser unico
.class
●   Permite seleccionar los elementos de una
    determinada clase de estilo
element selector
●   Tambien es posible seleccionar todos los
    elementos de la pagina de un determinado tipo
    ●   $("a")
    ●   $("div")
●   Tambien podemos combinar los ultimos dos
    selectores
    ●   $("span.bold").css("font-weight", "bold");
Selectores basados en atributos
●   Ademas de los selectores anteriores, podemos
    realizar selecciones de elementos basado en
    los atributos de estos elementos
Filtramos por el valor de atributo
●   Podemos utilizar operadores para filtrar los
    valores de los atributos
Selectores padre/hijo
●   jQuery permite realizar selecciones de
    elementos, basados en el elemento padre
●   Tenemos dos tipos
    ●   Las selecciones basadas en el padre directo de un
        elemento
    ●   Las selecciones que permiten filtrar por cualquier
        elementro ancestro del elemento buscado
Selectores padre/hijo
●   Para seleccionar los elementos cuyo padre
    directo es de un determinado tipo:
      $("div > a")
●   Para seleccionar los elementos que tenga
    algun padre de un determinado tipo:
      $("div a")
DOM (document object model)
●   Uno de los principales aspectos de jQuery, es
    que permite manipular el DOM del documento
    html
●   Es una forma de interactuar con el HTML/XML
    o XHTML de la pagina
●   jQuery viene con una serie de metodos que
    permiten una manipulcion sencilla de los
    componentes del documento
Manipulando el contenido
●   La forma mas simple de manipulacion, es
    obtener y guardar texto, valores y html
●   Son similares, pero no lo mismo
    ●   text: es una representacion textual del inner content
        del elemento
    ●   values: es para elementos del formulario
    ●   html: es una representacion textual, pero
        incluyendo markup html
Manipulando el contenido
Manipulando el contenido
Manipulando atributos
●   En forma similar al contenido, podemos
    manipular atributos, a traves del metodo attr()
●   Por ejemplo:
Manipulando atributos
●   Para modificar el valor del atributo, agregamos
    un parametro extra
Manipulando atributos
●   Tambien podemos manipular muchos atributos
    juntos, utilizando un map
Manipulando clases CSS
●   A traves de metodos como los anteriores,
    podemos manipular tambien las clases de
    estilo que un elemento tiene asignadas
●   Supongamos que tenemos:
Manipulando clases CSS
●   Tenemos los metodos
    ●   hasClass() que retorna si un elemento tiene una
        clase
    ●   addClass() para agregar una clase a un elemento
    ●   removeClass() para quitar una clase de un
        elemento
Manipulando clases CSS
Manipulando clases CSS
●   El codigo anterior, controla si un elemento tiene
    una clase, si la tiene la elimina, si no la tiene, se
    la establece
●   Como esto es una tarea muy comun, tenemos
    el metodo toggleClass()
    <a href="javascript:void(0);"
       onclick="$(this).toggleClass('bold');">
           Toggle class
    </a>
Manipulando clases CSS
●   El mecanismo de selectores, permite que la
    manipulacion de clases aplique sobre un
    conjunto de elementos:
Manipulando clases CSS
●   Lo anterior genera una imagen como la
    siguiente:
Manipulando el DOM
●   Los metodos append() y prepend(), permiten
    agregar elementos dentro de otros elementos,
    al final y al principio, respectivamente:
Manipulando el DOM
●   Ambos metodos reciben una cantidad infinita
    de parametros:
Manipulando el DOM
●   Tambien disponemos de los metodos before() y
    after(), que son muy similares a los anteriores.
●   La diferencia es que permiten hacer
    inserciones en varios elementos a la vez
Manipulando el DOM
●   Tambien tenemos los metodos remove() y
    empty()
●   Empty permite eliminar todos los hijos de un
    determinado elemento
       $('#divTestArea1').empty()
●   Remove permite eliminar los elementos
    seleccionados
       $('#divTestArea1').remove()
Eventos
●   jQuery provee un mecanismo interesante para
    asociar codigo en funciones, a elementos en la
    pagina
●   Por ejemplo:
binding
●   jQuery provee los metodos bind() y unbind()
    para atachear y desatachear funciones a
    conjuntos de elementos
binding
●   Cuando jQuery invoque el evento, pasara
    informacion relativa al mismo como primer
    argumento
●   Por ejemplo, informacion sobre la posicion del
    mouse, puede encontrarse en este objeto, o
    que tecla del teclado se ha presionado
●   La informacion de referencia puede obtenerse
    aqui:
    http://api.jquery.com/event.which/
binding
●   Por ejemplo, con el caso de un evento de
    mouse, podemos obtener:
binding
●   Tambien podemos pasar informacion propia, y
    obtenerla dentro de la funcion, en el objeto que
    representa el evento:
binding
●   Con el metodo unbind(), podemos remover las
    subscripciones a funciones que tienen los
    elementos
●   Por ejemplo:
      $("a").unbind();
      $("a").unbind("click doubleclick");
Que es AJAX?
●   Javascript para la interacción con el browser y
    para responder ante eventos
●   DOM para acceder y modificar la estructura del
    documento HTML
●   XML para representar los datos que viajan
    entre el servidor y el cliente
●   El objeto XMLHttpRequest para intercambiar
    datos XML asincronicamente con el servidor
Funcionamiento
Funcionamiento
load()
●   Una de las formas mas simples de cargar datos
    asincronicamente en jQuery, es a traves del
    metodo load()
●   Por ejemplo, supongamos que tenemos una
    pagina content.html
load()
●   Indicando cual es el elemento en el que
    queremos cargar los datos, podemos utilizar el
    metodo load():
load()
●   Tambien podemos seleccionar parte de la
    pagina a cargar, usando un selector como parte
    de load():
get() / post()
●   Estos metodos permiten enviar y recibir
    paquetes HTTP contra el servidor
●   Ambos son metodos estaticos, por lo que
    pueden ser usados en el objeto jQuery o
    directamente sin instancia:
●   jQuery.get() / jQuery.post()
●   $.get() / $.post()
get() / post()
●   Estos metodos reciben una URL como
    parametro, indicando donde queremos acceder
●   Si queremos hacer algo con el resultado,
    debemos utilizar una funcion de callback
parametros
●   En caso de que lo necesitemos, podemos
    enviar parametros al servidor, a traves de un
    mapa
JSON
●   JavaScript Object Notation
●   Es un subconjunto de JavaScript
●   Puede ser parseado por un parser JavaScript
●   Puede representar objetos primitivos o complejos
●   Pueden ser String, Objects, Booleans, Integers y
    Arrays
●   Un objeto:
JSON
●   Es legible tanto por un humano como por una
    maquina
●   Tiene soporte de unicode
●   Es autodocumentable
●   Es mas liviano que XML
    ●   ver: http://json.org/example.html
●   Los algoritmos de parsing son eficientes, debido
    a la estructura estricta pero simple
●   Puede representar registros, listas y arboles
JSON
●   Puede ser usado directamente en Javascript, para
    ser convertido a una estructura Javascript
●   Por ejemplo, podemos tener:
    ●   var data = eval('<JSON STRING>')
●   Luego, la variable data tendra la lista, la estructura
    o el valor primitivo que represente el string JSON
●   Podemos usarlo para acceder a campos por
    ejemplo
    ●   alert(data.name);
jQuery + JSON + Java (Web)
●   Los tres elementos pueden ser combinados para
    construir aplicaciones web empresariales
●   jQuery, junto a su bibilioteca de widgets, puede
    utilizarse para construir las vistas de nuestra
    aplicacion
●   Los componentes Java (Servlets, Web services,
    EJBs) pueden utilizarse para implementar el
    backend server side de la aplicacion
●   JSON puede ser usado como formato de
    intercambio de datos
JSON + Servlets
●   Una forma simple de exponer informacion
    desde el servidor, es utilizar Servlets (o
    servicios REST) para enviar y recibir
    informacion
●   Necesitamos una forma simple de transformar
    objetos desde y hacia el formato JSON
●   Una libreria interesante, es google-gson, la cual
    provee mecanismos para convertir
    automaticamente desde y hacia JSON, objetos
    Java
google-gson
●   Se encarga de la serializacion/deserializacion
    JSON-JAVA
●   Gson gson = new Gson();
●   gson.toJson(1); ==> imprime 1
●   gson.toJson("abcd"); ==> imprime "abcd"
●   gson.toJson(new Long(10)); ==> imprime 10
●   int[] values = { 1 };
●   gson.toJson(values); ==> imprime [1]
google-gson
●   int one = gson.fromJson("1", int.class);
●   Integer one = gson.fromJson("1", Integer.class);
●   Long one = gson.fromJson("1", Long.class);
●   Boolean false = gson.fromJson("false",
    Boolean.class);
●   String str = gson.fromJson(""abc"",
    String.class);
●   String anotherStr = gson.fromJson("["abc"]",
    String.class);
jQuery UI
●   Es un framework construido sobre jQuery, que
    provee efectos de animacion, widgets
    (controles), efectos y temas
●   Puede ser usado para construir interfaces
    graficas con un alto nivel de interactividad y
    belleza grafica
●   Entrar a:
    ●   http://jqueryui.com/
    ●   http://jqueryui.com/demos/
jQuery UI – Ejemplo sencillo
●   Para agregar soporte en una pagina,
    agregamos al head:
    ●   <link type="text/css" href="css/themename/jquery-
        ui-1.8.14.custom.css" rel="Stylesheet" />
    ●   <script type="text/javascript" src="js/jquery-
        1.4.4.min.js"></script>
    ●   <script type="text/javascript" src="js/jquery-ui-
        1.8.14.custom.min.js"></script>
jQuery UI – Ejemplo sencillo
●   Supongamos que queremos agregar un date
    picker a la pagina
●   Agregamos lo siguiente:
      <input type="text" name="date" id="date" />
●   Y luego, en la funcion onReady()
      $('#date').datepicker();
●   Y obtenemos:
jQuery UI – Ejemplo sencillo

Contenu connexe

Tendances (18)

Clase 12 jQuery basico
Clase 12  jQuery basicoClase 12  jQuery basico
Clase 12 jQuery basico
 
jQuery 1.3 Eghost Julio2009
jQuery 1.3 Eghost Julio2009jQuery 1.3 Eghost Julio2009
jQuery 1.3 Eghost Julio2009
 
Dom html - java script
Dom   html - java scriptDom   html - java script
Dom html - java script
 
Dom JavaScript
Dom JavaScriptDom JavaScript
Dom JavaScript
 
DOM HTML Javascript
DOM HTML JavascriptDOM HTML Javascript
DOM HTML Javascript
 
Introduccion a j_query
Introduccion a j_queryIntroduccion a j_query
Introduccion a j_query
 
J query
J queryJ query
J query
 
Jquery
JqueryJquery
Jquery
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Jquery para principianes
Jquery para principianesJquery para principianes
Jquery para principianes
 
Clase 14 doctrine - subir archivos
Clase 14   doctrine - subir archivosClase 14   doctrine - subir archivos
Clase 14 doctrine - subir archivos
 
Introduccion a DOM y AJAX - Javier Oliver Fulguera
Introduccion a DOM y AJAX  -  Javier Oliver FulgueraIntroduccion a DOM y AJAX  -  Javier Oliver Fulguera
Introduccion a DOM y AJAX - Javier Oliver Fulguera
 
Tutorial de jquery
Tutorial de jqueryTutorial de jquery
Tutorial de jquery
 
Lenguaje JavaScript parte 2
Lenguaje JavaScript parte 2Lenguaje JavaScript parte 2
Lenguaje JavaScript parte 2
 
Jquery 2
Jquery 2Jquery 2
Jquery 2
 
Unidad 3 AJAX
Unidad 3 AJAX Unidad 3 AJAX
Unidad 3 AJAX
 
Acciones JSP
Acciones JSPAcciones JSP
Acciones JSP
 
DocumentacióN Del Sitio Web En Xml
DocumentacióN Del Sitio Web En XmlDocumentacióN Del Sitio Web En Xml
DocumentacióN Del Sitio Web En Xml
 

En vedette

jQuery 1.3 UI eghost Julio2009
jQuery 1.3 UI eghost Julio2009jQuery 1.3 UI eghost Julio2009
jQuery 1.3 UI eghost Julio2009Irontec
 
Todo Javascript para canibales
Todo Javascript para canibalesTodo Javascript para canibales
Todo Javascript para canibalesbriant pati
 
Presentacion diseño web con jquery
Presentacion diseño web con jqueryPresentacion diseño web con jquery
Presentacion diseño web con jqueryMejorandola
 
La magia de jquery
La magia de jqueryLa magia de jquery
La magia de jqueryAngelDX
 
Ajax
AjaxAjax
Ajaxutpl
 
7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesos7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesossilviamap64
 
Calidad Del Software
Calidad Del SoftwareCalidad Del Software
Calidad Del SoftwareUVM
 
Que es AJAX
Que es AJAXQue es AJAX
Que es AJAXITSTB
 
Calidad de software final final.pptx
Calidad de software final final.pptxCalidad de software final final.pptx
Calidad de software final final.pptxsamiva91
 
Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)
Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)
Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)Mario A Moreno Rocha
 
Procesos de calidad software
Procesos de calidad softwareProcesos de calidad software
Procesos de calidad softwareAlejandro Leon
 
Herramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareHerramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareMiguel Sanchez
 
2.2 lenguajes del lado cliente
2.2 lenguajes del lado cliente2.2 lenguajes del lado cliente
2.2 lenguajes del lado clienteJeremias Morales
 
Dimensiones de la calidad cep
Dimensiones de la calidad cepDimensiones de la calidad cep
Dimensiones de la calidad cepPau Aragon
 
Calidad de software
Calidad de softwareCalidad de software
Calidad de softwareyecka25
 
4. Diseño e Implementación de Software
4. Diseño e Implementación de Software4. Diseño e Implementación de Software
4. Diseño e Implementación de SoftwareMario A Moreno Rocha
 

En vedette (20)

jQuery 1.3 UI eghost Julio2009
jQuery 1.3 UI eghost Julio2009jQuery 1.3 UI eghost Julio2009
jQuery 1.3 UI eghost Julio2009
 
Todo Javascript para canibales
Todo Javascript para canibalesTodo Javascript para canibales
Todo Javascript para canibales
 
Presentacion diseño web con jquery
Presentacion diseño web con jqueryPresentacion diseño web con jquery
Presentacion diseño web con jquery
 
La magia de jquery
La magia de jqueryLa magia de jquery
La magia de jquery
 
Laravel 4.2 pdf
Laravel 4.2 pdfLaravel 4.2 pdf
Laravel 4.2 pdf
 
jQuery y ASP
jQuery y ASPjQuery y ASP
jQuery y ASP
 
Ajax
AjaxAjax
Ajax
 
Dhtml
DhtmlDhtml
Dhtml
 
7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesos7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesos
 
Calidad Del Software
Calidad Del SoftwareCalidad Del Software
Calidad Del Software
 
Que es AJAX
Que es AJAXQue es AJAX
Que es AJAX
 
Calidad de software final final.pptx
Calidad de software final final.pptxCalidad de software final final.pptx
Calidad de software final final.pptx
 
AJAX
AJAXAJAX
AJAX
 
Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)
Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)
Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)
 
Procesos de calidad software
Procesos de calidad softwareProcesos de calidad software
Procesos de calidad software
 
Herramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareHerramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de software
 
2.2 lenguajes del lado cliente
2.2 lenguajes del lado cliente2.2 lenguajes del lado cliente
2.2 lenguajes del lado cliente
 
Dimensiones de la calidad cep
Dimensiones de la calidad cepDimensiones de la calidad cep
Dimensiones de la calidad cep
 
Calidad de software
Calidad de softwareCalidad de software
Calidad de software
 
4. Diseño e Implementación de Software
4. Diseño e Implementación de Software4. Diseño e Implementación de Software
4. Diseño e Implementación de Software
 

Similaire à jQuery

Introduccion a j query
Introduccion a j queryIntroduccion a j query
Introduccion a j queryPablo Viteri
 
Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......SaulSalinasNeri
 
Mootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSMootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSIan Monge Pérez
 
Javascript de Canibales
Javascript de CanibalesJavascript de Canibales
Javascript de Canibalesbriant pati
 
Java Script de canibaless
Java Script de canibalessJava Script de canibaless
Java Script de canibalessbriant pati
 
El Mal Odiado Javascript
El Mal Odiado JavascriptEl Mal Odiado Javascript
El Mal Odiado JavascriptEl Jota
 
Primer presentacion
Primer presentacion Primer presentacion
Primer presentacion m3mm0
 
Javascript Clásico
Javascript ClásicoJavascript Clásico
Javascript ClásicoIrontec
 
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018nacho mascort
 
Javascript 4 Dummies
Javascript 4 DummiesJavascript 4 Dummies
Javascript 4 DummiesLuis Toscano
 
Javascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryJavascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryDavid Arango
 
Extender Jquery para crear componentes web personalizados
Extender Jquery  para crear componentes web personalizadosExtender Jquery  para crear componentes web personalizados
Extender Jquery para crear componentes web personalizadosHéctor Curbelo Barrios
 
Mallorca MUG: MongoDB y .NET
Mallorca MUG: MongoDB y .NETMallorca MUG: MongoDB y .NET
Mallorca MUG: MongoDB y .NETEmilio Torrens
 

Similaire à jQuery (20)

JQuery con ejemplos cortos
JQuery con ejemplos cortosJQuery con ejemplos cortos
JQuery con ejemplos cortos
 
Taller de Jquery
Taller de JqueryTaller de Jquery
Taller de Jquery
 
Introduccion a j query
Introduccion a j queryIntroduccion a j query
Introduccion a j query
 
Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......
 
Mootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSMootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JS
 
Guia jQuery INCES Militar - Kurt Gude
Guia jQuery INCES Militar - Kurt GudeGuia jQuery INCES Militar - Kurt Gude
Guia jQuery INCES Militar - Kurt Gude
 
Js
JsJs
Js
 
Javascript de Canibales
Javascript de CanibalesJavascript de Canibales
Javascript de Canibales
 
Java Script de canibaless
Java Script de canibalessJava Script de canibaless
Java Script de canibaless
 
javascript.ppt
javascript.pptjavascript.ppt
javascript.ppt
 
El Mal Odiado Javascript
El Mal Odiado JavascriptEl Mal Odiado Javascript
El Mal Odiado Javascript
 
Primer presentacion
Primer presentacion Primer presentacion
Primer presentacion
 
Javascript Clásico
Javascript ClásicoJavascript Clásico
Javascript Clásico
 
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
 
Javascript 4 Dummies
Javascript 4 DummiesJavascript 4 Dummies
Javascript 4 Dummies
 
Javascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryJavascript en proyectos reales: jQuery
Javascript en proyectos reales: jQuery
 
AJAX EN CURSO PHP
AJAX EN CURSO PHPAJAX EN CURSO PHP
AJAX EN CURSO PHP
 
Extender Jquery para crear componentes web personalizados
Extender Jquery  para crear componentes web personalizadosExtender Jquery  para crear componentes web personalizados
Extender Jquery para crear componentes web personalizados
 
Semana 2 Configuración entorno de desarrollo
Semana 2   Configuración entorno de desarrolloSemana 2   Configuración entorno de desarrollo
Semana 2 Configuración entorno de desarrollo
 
Mallorca MUG: MongoDB y .NET
Mallorca MUG: MongoDB y .NETMallorca MUG: MongoDB y .NET
Mallorca MUG: MongoDB y .NET
 

Dernier

Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaYeimys Ch
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y maslida630411
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxCarolina Bujaico
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 

Dernier (20)

El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y mas
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptx
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 

jQuery

  • 2. jQuery ● Es un framework Javascript ● El proposito es facilitar la inclusion de Javascript en un sitio o aplicacion web ● Podemos verlo como una capa de abstraccion ● Transforma muchas lineas de codigo Javascript, en funciones mas simples ● NO reemplaza a Javascript, sino que simplifica su sintaxis
  • 3. jQuery ● Existen multiples alternativas a jQuery ● Sin embargo, hoy dia es una de las mas populares en el mercado ● Asimismo es una de las mas extensibles, pudiendose encontrar plugins para casi cualquier tarea en la web
  • 4. Utilizando jQuery ● Para utilizarlo, debemos incluirlo en las paginas en las que vamos a utilizarso ● Podemos descargar el framework desde www.jquery.com ● Agregamos una referencia al archivo descargado, en el head de la pagina ● <script type="text/javascript" src="jquery-1.5.1.js"></script>
  • 5. Utilizando jQuery ● Debemos agregar en el head esta referencia: <head> <title>jQuery test</title> <script type="text/javascript" src="jquery-1.5.1.js"></script> </head>
  • 6. Hello world! ● Este es un ejemplo de uso de jQuery: <div id="divTest1"></div> <script type="text/javascript"> $("#divTest1").text("Hello, world!"); </script> ● Esto carga en el divTest1, el string “Hello, world!”
  • 7. Hello world! ● El equivalente sin jQuery, es un poco mas largo <div id="divTest2"></div> <script type="text/javascript"> document.getElementById("divTest2").innerHTML = "Hello, world!"; </script> ● Ademas, es dependiente del browser
  • 8. Ready event ● El ejemplo anterior manipula el contenido de la pagina ● Es buena practica esperar a que el documento este cargado y pronto para ser utilizado ● Esto permite ● Que las estructuras de la pagina esten cargadas antes de comenzar a utilizarlas ● Que el codigo Javascript pueda ser colocado al comienzo de la pagina
  • 11. Encadenamiento ● Una caracteristica interesante de jQuery, es que la mayoria de los metodos, retornan un objeto jQuery ● Esto permite realizar cadenas de invocaciones, como por ejemplo:
  • 12. Encadenamiento ● Podemos hacer que el codigo se vea mas intuitivo, como por ejemplo:
  • 13. Selectores ● Una de las tareas mas comunes al usar Javascript, es modificar el contenido de la pagina ● Pero para hacer esto, necesitamos encontrar lo que queremos cambiar ● Es para esto que se utilizan los selectores ● Para elegir un conjunto de elementos, hacemos $(<query para seleccionar>)
  • 14. #id ● Utiliza el identificador de un elemento en la pagina, el cual debe ser unico
  • 15. .class ● Permite seleccionar los elementos de una determinada clase de estilo
  • 16. element selector ● Tambien es posible seleccionar todos los elementos de la pagina de un determinado tipo ● $("a") ● $("div") ● Tambien podemos combinar los ultimos dos selectores ● $("span.bold").css("font-weight", "bold");
  • 17. Selectores basados en atributos ● Ademas de los selectores anteriores, podemos realizar selecciones de elementos basado en los atributos de estos elementos
  • 18. Filtramos por el valor de atributo ● Podemos utilizar operadores para filtrar los valores de los atributos
  • 19. Selectores padre/hijo ● jQuery permite realizar selecciones de elementos, basados en el elemento padre ● Tenemos dos tipos ● Las selecciones basadas en el padre directo de un elemento ● Las selecciones que permiten filtrar por cualquier elementro ancestro del elemento buscado
  • 20. Selectores padre/hijo ● Para seleccionar los elementos cuyo padre directo es de un determinado tipo: $("div > a") ● Para seleccionar los elementos que tenga algun padre de un determinado tipo: $("div a")
  • 21.
  • 22.
  • 23. DOM (document object model) ● Uno de los principales aspectos de jQuery, es que permite manipular el DOM del documento html ● Es una forma de interactuar con el HTML/XML o XHTML de la pagina ● jQuery viene con una serie de metodos que permiten una manipulcion sencilla de los componentes del documento
  • 24. Manipulando el contenido ● La forma mas simple de manipulacion, es obtener y guardar texto, valores y html ● Son similares, pero no lo mismo ● text: es una representacion textual del inner content del elemento ● values: es para elementos del formulario ● html: es una representacion textual, pero incluyendo markup html
  • 27. Manipulando atributos ● En forma similar al contenido, podemos manipular atributos, a traves del metodo attr() ● Por ejemplo:
  • 28. Manipulando atributos ● Para modificar el valor del atributo, agregamos un parametro extra
  • 29. Manipulando atributos ● Tambien podemos manipular muchos atributos juntos, utilizando un map
  • 30. Manipulando clases CSS ● A traves de metodos como los anteriores, podemos manipular tambien las clases de estilo que un elemento tiene asignadas ● Supongamos que tenemos:
  • 31. Manipulando clases CSS ● Tenemos los metodos ● hasClass() que retorna si un elemento tiene una clase ● addClass() para agregar una clase a un elemento ● removeClass() para quitar una clase de un elemento
  • 33. Manipulando clases CSS ● El codigo anterior, controla si un elemento tiene una clase, si la tiene la elimina, si no la tiene, se la establece ● Como esto es una tarea muy comun, tenemos el metodo toggleClass() <a href="javascript:void(0);" onclick="$(this).toggleClass('bold');"> Toggle class </a>
  • 34. Manipulando clases CSS ● El mecanismo de selectores, permite que la manipulacion de clases aplique sobre un conjunto de elementos:
  • 35. Manipulando clases CSS ● Lo anterior genera una imagen como la siguiente:
  • 36. Manipulando el DOM ● Los metodos append() y prepend(), permiten agregar elementos dentro de otros elementos, al final y al principio, respectivamente:
  • 37. Manipulando el DOM ● Ambos metodos reciben una cantidad infinita de parametros:
  • 38. Manipulando el DOM ● Tambien disponemos de los metodos before() y after(), que son muy similares a los anteriores. ● La diferencia es que permiten hacer inserciones en varios elementos a la vez
  • 39. Manipulando el DOM ● Tambien tenemos los metodos remove() y empty() ● Empty permite eliminar todos los hijos de un determinado elemento $('#divTestArea1').empty() ● Remove permite eliminar los elementos seleccionados $('#divTestArea1').remove()
  • 40. Eventos ● jQuery provee un mecanismo interesante para asociar codigo en funciones, a elementos en la pagina ● Por ejemplo:
  • 41. binding ● jQuery provee los metodos bind() y unbind() para atachear y desatachear funciones a conjuntos de elementos
  • 42. binding ● Cuando jQuery invoque el evento, pasara informacion relativa al mismo como primer argumento ● Por ejemplo, informacion sobre la posicion del mouse, puede encontrarse en este objeto, o que tecla del teclado se ha presionado ● La informacion de referencia puede obtenerse aqui: http://api.jquery.com/event.which/
  • 43. binding ● Por ejemplo, con el caso de un evento de mouse, podemos obtener:
  • 44. binding ● Tambien podemos pasar informacion propia, y obtenerla dentro de la funcion, en el objeto que representa el evento:
  • 45. binding ● Con el metodo unbind(), podemos remover las subscripciones a funciones que tienen los elementos ● Por ejemplo: $("a").unbind(); $("a").unbind("click doubleclick");
  • 46. Que es AJAX? ● Javascript para la interacción con el browser y para responder ante eventos ● DOM para acceder y modificar la estructura del documento HTML ● XML para representar los datos que viajan entre el servidor y el cliente ● El objeto XMLHttpRequest para intercambiar datos XML asincronicamente con el servidor
  • 47.
  • 48.
  • 51. load() ● Una de las formas mas simples de cargar datos asincronicamente en jQuery, es a traves del metodo load() ● Por ejemplo, supongamos que tenemos una pagina content.html
  • 52. load() ● Indicando cual es el elemento en el que queremos cargar los datos, podemos utilizar el metodo load():
  • 53. load() ● Tambien podemos seleccionar parte de la pagina a cargar, usando un selector como parte de load():
  • 54. get() / post() ● Estos metodos permiten enviar y recibir paquetes HTTP contra el servidor ● Ambos son metodos estaticos, por lo que pueden ser usados en el objeto jQuery o directamente sin instancia: ● jQuery.get() / jQuery.post() ● $.get() / $.post()
  • 55. get() / post() ● Estos metodos reciben una URL como parametro, indicando donde queremos acceder ● Si queremos hacer algo con el resultado, debemos utilizar una funcion de callback
  • 56. parametros ● En caso de que lo necesitemos, podemos enviar parametros al servidor, a traves de un mapa
  • 57. JSON ● JavaScript Object Notation ● Es un subconjunto de JavaScript ● Puede ser parseado por un parser JavaScript ● Puede representar objetos primitivos o complejos ● Pueden ser String, Objects, Booleans, Integers y Arrays ● Un objeto:
  • 58. JSON ● Es legible tanto por un humano como por una maquina ● Tiene soporte de unicode ● Es autodocumentable ● Es mas liviano que XML ● ver: http://json.org/example.html ● Los algoritmos de parsing son eficientes, debido a la estructura estricta pero simple ● Puede representar registros, listas y arboles
  • 59. JSON ● Puede ser usado directamente en Javascript, para ser convertido a una estructura Javascript ● Por ejemplo, podemos tener: ● var data = eval('<JSON STRING>') ● Luego, la variable data tendra la lista, la estructura o el valor primitivo que represente el string JSON ● Podemos usarlo para acceder a campos por ejemplo ● alert(data.name);
  • 60. jQuery + JSON + Java (Web) ● Los tres elementos pueden ser combinados para construir aplicaciones web empresariales ● jQuery, junto a su bibilioteca de widgets, puede utilizarse para construir las vistas de nuestra aplicacion ● Los componentes Java (Servlets, Web services, EJBs) pueden utilizarse para implementar el backend server side de la aplicacion ● JSON puede ser usado como formato de intercambio de datos
  • 61. JSON + Servlets ● Una forma simple de exponer informacion desde el servidor, es utilizar Servlets (o servicios REST) para enviar y recibir informacion ● Necesitamos una forma simple de transformar objetos desde y hacia el formato JSON ● Una libreria interesante, es google-gson, la cual provee mecanismos para convertir automaticamente desde y hacia JSON, objetos Java
  • 62. google-gson ● Se encarga de la serializacion/deserializacion JSON-JAVA ● Gson gson = new Gson(); ● gson.toJson(1); ==> imprime 1 ● gson.toJson("abcd"); ==> imprime "abcd" ● gson.toJson(new Long(10)); ==> imprime 10 ● int[] values = { 1 }; ● gson.toJson(values); ==> imprime [1]
  • 63. google-gson ● int one = gson.fromJson("1", int.class); ● Integer one = gson.fromJson("1", Integer.class); ● Long one = gson.fromJson("1", Long.class); ● Boolean false = gson.fromJson("false", Boolean.class); ● String str = gson.fromJson(""abc"", String.class); ● String anotherStr = gson.fromJson("["abc"]", String.class);
  • 64. jQuery UI ● Es un framework construido sobre jQuery, que provee efectos de animacion, widgets (controles), efectos y temas ● Puede ser usado para construir interfaces graficas con un alto nivel de interactividad y belleza grafica ● Entrar a: ● http://jqueryui.com/ ● http://jqueryui.com/demos/
  • 65. jQuery UI – Ejemplo sencillo ● Para agregar soporte en una pagina, agregamos al head: ● <link type="text/css" href="css/themename/jquery- ui-1.8.14.custom.css" rel="Stylesheet" /> ● <script type="text/javascript" src="js/jquery- 1.4.4.min.js"></script> ● <script type="text/javascript" src="js/jquery-ui- 1.8.14.custom.min.js"></script>
  • 66. jQuery UI – Ejemplo sencillo ● Supongamos que queremos agregar un date picker a la pagina ● Agregamos lo siguiente: <input type="text" name="date" id="date" /> ● Y luego, en la funcion onReady() $('#date').datepicker(); ● Y obtenemos:
  • 67. jQuery UI – Ejemplo sencillo