jQuery A Javascript Library Hard things made eas(ier)

Slides:



Advertisements
Similar presentations
The jQuery library. What is jQuery ? A javascript lightweight library Is very easy to use Is powerful Is cross-browser compatible Downloadable from jQuery.com,
Advertisements

JQuery A Javascript Library Hard things made eas(ier) Norman White.
JQUERY/AJAX ALIREZA KHATAMIAN DELARAM YAZDANSEPAS.
Computer Information System Information System California State University Los Angeles Jongwook Woo CIS 461 Web Development I JQuery Part II Jongwook.
Computer Information System Information System California State University Los Angeles Jongwook Woo CIS 461 Web Development I JQuery Part I Jongwook Woo,
CS428 Web Engineering Lecture 15 Introduction to Jquery.
JQuery. What is jQuery? jQuery is a fast, small, and feature-rich JavaScript library that simplifies HTML document traversing and manipulation event handling.
Philly.NET Hands-On jQuery + Plug-ins Bill Wolff, Rob Keiser.
JQuery CS 268. What is jQuery? From their web site:
M. Taimoor Khan Courtesy: Norman White.
Nguyen Ich Cuong.  Course duration: 45’  Purpose: Present Introduction to JQuery  Targeted attendees: NICorp Trainee  Tests/quiz: Yes - 10’
By Jon Marozick.  JavaScript toolkit  Aims to change the way developers think  jQuery philosophy  Find some HTML  Do something to it.
Lecture 12 – AJAX SFDV3011 – Advanced Web Development Reference: 1.
JQuery March 09 th,2009 Create by
JQuery 10/21. Today jQuery Some cool tools around the web JavaScript Libraries Drawing libraries HTML Frameworks Conventions.
JQuery Adding behaviour…. Lecture Plan Review of last lesson Adding behaviour –click, mouseover Animation –fade, slideDown Navigation –parent, find, next.
INTRODUCTION TO JAVASCRIPT AND DOM Internet Engineering Spring 2012.
Jquery Nasrullah. Jquery jQuery is a JavaScript Library. jQuery greatly simplifies JavaScript programming. jQuery is easy to learn.
INTRODUCTION TO HTML5 Using jQuery with HTML5. Introducing jQuery  Although it is not a part of any W3C or WHATWG specification, jQuery performs an important.
Animation & Effects Using JQuery. What is jQuery? jQuery is a lightweight, JavaScript library. The purpose of jQuery is to make it much easier to use.
JQuery Youn-Hee Han
CHAPTER 5 jQuery อ. ยืนยง กันทะเนตร คณะเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยพะเยา 1.
JQuery Introduction © Copyright 2014, Fred McClurg All Rights Reserved.
LOGO sparcs.org 1 jQuery Tutorial Presenter ㅎㅇㅎㅇ.
Browser scripting jQuery Edited by: Trần Thị Mỹ Dung Ref:w3schools.com.
JavaScript Library. What is jQuery jQuery is a lightweight JavaScript library. The purpose is to make it easier to use JavaScript code on your website.
Unleash the Power of jQuery Learning & Development Team Telerik Software Academy.
JQuery JavaScript is a powerful language but it is not always easy to work with. jQuery is a JavaScript library that helps with: – HTML document traversal.
Web Programming Language Week 9 Dr. Ken Cosh Introducing jQuery.
Creating Dynamic Webpages
JQuery and AJAX WEB Technologies : PHP Programming Language.
Intro to jQuery. What is jQuery? A JavaScript library Lightweight (about 31KB for the minified version) Simplifies HTML document traversing (DOM), event.
IS2802 Introduction to Multimedia Applications for Business Lecture 07: Introduction to jQuery Rob Gleasure
Unit 13 –JQuery Basics Instructor: Brent Presley.
Introduction to JQuery COGS 187A – Fall JQuery jQuery is a JavaScript library, and allows us to manipulate HTML and CSS after the page has been.
Introduction to JavaScript MIS 3502, Spring 2016 Jeremy Shafer Department of MIS Fox School of Business Temple University 2/2/2016.
KAPITA SELEKTA INFORMATIKA Lasmedi Afuan, ST.M.Cs.
JQuery Tutorial. What is jQuery jQuery is a JavaScript Library The purpose of jQuery is to make it much easier to use JavaScript on your website JavaScript.
Engr. Md. Nazim Uddin M.Sc. Eng. (CSE), B.Sc. Engg. (CSE), MIEB Cell: Website:
JQuery is a fast, small, and feature-rich javascript library. It makes things like HTML document traversal and manipulation, event handling, animation,
JQuery Element & Attribute Selectors, Events, HTML Manipulation, & CSS Manipulation.
JQuery.
What is jQuery?.
Introduction to.
CS7026 jQuery Effects.
-By Yogita Nirmal.
12/04/12 JQuery I took these slides from the site because they were pretty good looking. Instructions for editing school and department titles: Select.
Tek Raj Chhetri Code for Humans not for machine.
Unleash the Power of jQuery
CGS 3066: Web Programming and Design Spring 2017
Introduction to Web programming
JQuery Basics 소속 / 작성자 이 문서는 나눔글꼴로 작성되었습니다. 설치하기.
Tutorial 6 Topic: jQuery and jQuery Mobile Li Xu
JQUERY Online TRAINING AT GOLOGICA
JQuery with ASP.NET.
jQuery A Javascript Library Hard things made eas(ier)
Web Programming Language
Web Programming Language
An Introduction to Animation
SEEM4570 Tutorial 5: jQuery + jQuery Mobile
Javascript and JQuery SRM DSC.
E-commerce Applications Development
Document Object Model.
Web Programming Language
Getting started with jQuery
SEEM4540 Tutorial 3 jQuery Wong Wai Chung.
Introduction to Web programming
JQuery.
Modifying HTML attributes and CSS values
Presentation transcript:

jQuery A Javascript Library Hard things made eas(ier) Norman White

jQuery Javascript Library to do many, many things that would normally require intricate knowledge of javascript, different browsers, and different devices. (Fairly) easy to learn You should try all the examples on http://www.w3schools.com/jquery Or take the code Academy JQuery course. http://www.codeacademy.com

Simple example Function which hides a <p> element when clicked <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function() { $("p").click(function() { $(this).hide(); } ); } ); </script> </head> <body> <p>If you click on me, I will disappear.</p> </body> </html>

jQuery Overview What is jQuery? jQuery is a library of JavaScript Functions. jQuery is a lightweight "write less, do more" JavaScript library. The jQuery library contains the following features: HTML element selections HTML element manipulation CSS manipulation HTML event functions JavaScript Effects and animations HTML DOM traversal and modification AJAX Utilities jQuery mobile extends jQuery support to mobile devices with additional mobile oriented functionality.

Using jQuery Just include the library <head> <script type="text/javascript" src="jquery.js"></script> </head>

Simple jQuery Click button to hide all paragraphs (note the $, shorthand for jQuery()) <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){   $("button").click(function(){     $("p").hide();   }); }); </script> </head> <body> <h2>This is a heading</h2> <p>This is a paragraph.</p> <p>This is another paragraph.</p> <button>Click me and things will be hidden</button> </body> </html>

jQuery Syntax Examples $ indicates a jQuery statement (Note CSS Style References) $(this).hide() Demonstrates the jQuery hide() method, hiding the current HTML element. $("#test").hide() Demonstrates the jQuery hide() method, hiding the element with id="test". $("p").hide() Demonstrates the jQuery hide() method, hiding all <p> elements. $(".test").hide() Demonstrates the jQuery hide() method, hiding all elements with class="test".

Syntax SELECT some HTML Elements and perform some action on them $(selector).action() Usually define functions only after the document is finished loading, otherwise elements may not be there. $(document).ready(function(){ // jQuery functions go here... });

jQuery Selectors jQuery Element Selectors jQuery uses CSS selectors to select HTML elements. $("p") selects all <p> elements. $("p.intro") selects all <p> elements with class="intro". $("p#demo") selects all <p> elements with id="demo".

jQuery Attribute Selectors jQuery uses XPath expressions to select elements with given attributes. $("[href]") select all elements with an href attribute. $("[href='#']") select all elements with an href value equal to "#". $("[href!='#']") select all elements with an href attribute NOT equal to "#". $("[href$='.jpg']") select all elements with an href attribute that ends with ".jpg".

CSS Selectors jQuery CSS Selectors Example jQuery CSS selectors can be used to change CSS properties for HTML elements. The following example changes the background-color of all p elements to yellow: Example $("p").css("background-color","yellow");

More Examples Syntax Description $(this) Current HTML element $("p") All <p> elements $("p.intro") All <p> elements with class="intro" $("p#intro") All <p> elements with id="intro" $("p#intro:first") The first <p> element with id="intro" $(".intro") All elements with class="intro" $("#intro") The first element with id="intro" $("ul li:first") The first <li> element of the first <ul> $("ul li:first-child") The first <li> element of every <ul> $(“ul li:nth-child(3)” The third <li> element of every <ul> $("[href$='.jpg']") All elements with an href attribute that ends with ".jpg" $("div#intro .head") All elements with class="head" inside a <div> element with id="intro"

Event Functions <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){   $("button").click(function(){     $("p").hide();   }); }); </script> </head> <body> <h2>This is a heading</h2> <p>This is a paragraph.</p> <p>This is another paragraph.</p> <button>Click me</button> </body></html>

Sample Events Event Method Description $(document).ready(function)   Binds a function to the ready event of a document (when the document is finished loading) $(selector).click(function) Triggers, or binds a function to the click event of selected elements $(selector).dblclick(function) Triggers, or binds a function to the double click event of selected elements $(selector).focus(function) Triggers, or binds a function to the focus event of selected elements $(selector).mouseover(function) Triggers, or binds a function to the mouseover event of selected elements.

Effects Examples jQuery hide() Demonstrates a simple jQuery hide() method. jQuery hide() Another hide() demonstration. How to hide parts of text. jQuery slideToggle() Demonstrates a simple slide panel effect. jQuery fadeTo() Demonstrates a simple jQuery fadeTo() method. jQuery animate() Demonstrates a simple jQuery animate() method.

jQuery Hide and Show With jQuery, you can hide and show HTML elements with the hide() and show() methods: Example $("#hide").click(function(){   $("p").hide(); }); $("#show").click(function(){   $("p").show(); }); Note: These can be very useful on mobile devices as a way to conserve space.

Hide and show speed $(selector).hide(speed,callback) $(selector).show(speed,callback) $("button").click(function(){   $("p").hide(1000); });

Toggle Between show and hide $(selector).toggle(speed,callback) $("button").click(function(){ $("p").toggle(); });

jQuery Slide - slideDown, slideUp, slideToggle The jQuery slide methods gradually change the height for selected elements. jQuery has the following slide methods: $(selector).slideDown(speed,callback) $(selector).slideUp(speed,callback) $(selector).slideToggle(speed,callback) The (optional) speed parameter can take the following values: "slow", "fast", "normal", or milliseconds. The callback parameter is the (optional) name of a function to be executed after the function completes.

Slide Examples $(".flip").click(function(){ $(".panel").slideDown(); }); $(".flip").click(function(){ $(".panel").slideUp() }) $(".flip").click(function(){ $(".panel").slideToggle(); });

<html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $(".flip").click(function(){ $(".panel").slideToggle("slow"); }); </script> <style type="text/css"> div.panel,p.flip { margin:0px; padding:5px; text-align:center; background:#e5eecc; border:solid 1px #c3c3c3; } div.panel height:120px; display:none; </style> </head> <body> <div class="panel"> <p>Because time is valuable, we deliver quick and easy learning.</p> <p>At Stern, you can study everything you need to learn, in an accessible and handy format.</p> </div> <p class="flip">Show/Hide Panel</p> </body> </html>

jQuery Fade - fadeIn, fadeOut, fadeTo The jQuery fade methods gradually change the opacity for selected elements. jQuery has the following fade methods: $(selector).fadeIn(speed,callback) $(selector).fadeOut(speed,callback) $(selector).fadeTo(speed,opacity,callback) The speed parameter can take the following values: "slow", "fast", "normal", or milliseconds. The opacity parameter in the fadeTo() method allows fading to a given opacity. The callback parameter is the name of a function to be executed after the function completes.

Custom Animations The syntax of jQuery's method for making custom animations is: $(selector).animate({params},[duration],[easing],[callback]) The key parameter is params. It defines the CSS properties that will be animated. Many properties can be animated at the same time: animate({width:"70%",opacity:0.4,marginLeft:"0.6in",fontSize:"3em"}); The second parameter is duration. It specifies the speed of the animation. Possible values are "fast", "slow", "normal", or milliseconds.

Animation Example <script type="text/javascript"> $(document).ready(function(){ $("button").click(function(){ $("div").animate({height:300},"slow"); $("div").animate({width:300},"slow"); $("div").animate({height:100},"slow"); $("div").animate({width:100},"slow"); }); }); </script>

<script type="text/javascript"> $(document) <script type="text/javascript"> $(document).ready(function(){ $("button").click(function(){ $("div").animate({left:"100px"},"slow"); $("div").animate({fontSize:"3em"},"slow");   }); }); </script> 

Callback Functions Function called after action is completed $("p").hide(1000,function(){   alert("The paragraph is now hidden"); }); Instead of $("p").hide(1000); alert("The paragraph is now hidden"); In 2nd example the alert will show before the paragraph is hidden, since the alert happens immediately and the hide takes 1 second. Calling the alert from a callback function ensures that it won’t happen until the paragraph is hidden.

Changing HTML Content $(selector).html(content) The html() method changes the contents (innerHTML) of matching HTML elements. $("p").html(“Stern is the best"); Will change all html within a <p> tag to “Stern is the best”

All “p” elements to “Stern is the best” Example <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("button").click(function(){ $("p").html(“Stern is the best"); }); </script> </head> <body> <h2>This is a heading</h2> <p>This is a paragraph.</p> <p>This is another paragraph.</p> <button>Click me</button> </body> </html> Wait for document to load Add a button to change All “p” elements to “Stern is the best” When clicked.

Can also append or prepend content Adding HTML content $(selector).append(content) The append() method appends content to the inside of matching HTML elements. $(selector).prepend(content) The prepend() method "prepends" content to the inside of  matching HTML elements.

After and Before $(selector).after(content) The after() method inserts HTML content after all matching elements. $(selector).before(content) The before() method inserts HTML content before all matching elements.

Many, Many HTML functions Look at full reference

CSS Methods Method Description addClass() Adds one or more classes to selected elements css() Sets or returns one or more style properties for selected elements hasClass() Checks if any of the selected elements have a specified class height() Sets or returns the height of selected elements offset() S ets or returns the position (relative to the document) for selected elements offsetParent() Returns the first parent element that is positioned position() Returns the position (relative to the parent element) of the first selected element removeClass() Removes one or more classes from selected elements scrollLeft() Sets or returns the horizontal position of the scrollbar for the selected elements scrollTop() Sets or returns the vertical position of the scrollbar for the selected elements toggleClass() Toggles between adding/removing one or more classes from selected elements width() Sets or returns the width of selected elements

AJAX A limitation of early versions of the http protocol, was that interaction with the server was only through the submission of a form, or clicking on a link to load a new page (or frame). To solve this, a new http request type was added that allows asynchronous requests to the server, so that javascript could issue requests for data from a server without refreshing the page. It was called XMLhttpRequest, since the data would be returned as an XML object, which could then be manipulated locally by Javascript and used to dynamically change the current html page. jQuery has made using AJAX much easier.

jQuery AJAX Asynchronous Javascript and XML Allows javascript to dynamically communicate with a server without reloading the page. jQuery provides a rich set of methods for AJAX web development. With jQuery AJAX, you can request TXT, HTML, XML or JSON data from a remote server using both HTTP Get and HTTP Post. And you can load remote data directly into selected HTML elements of your web page! This is the magic that allows for web pages to dynamically change parts of their content instead of having to reload the whole page. No more click submit and wait for new page. Example: Google Earth, Google maps More map tiles are loaded in the background while you look at part of the map, so that when you move, the next area is already loaded.

jQuery load method The jQuery load() method is a simple (but very powerful) AJAX function. It has the following syntax: $(selector).load(url,data,callback) Use the selector to define the HTML element(s) to change, and the url parameter to specify a web address for your data. The data is put in the data object, and the callback function is called when the data is loaded.

jQuery load Load ‘test1.txt’ from same Directory as the web page <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("button").click(function(){ $("div").load('test1.txt'); }); </script> </head> <body> <div><h2>Let AJAX change this text</h2></div> <button>Change Content</button> </body> </html> Load ‘test1.txt’ from same Directory as the web page And replace div content With contents of “test1.txt”

jQuery AJAX Many functions to move data (usually a JSON object) back and forth between the server and PARTS of the web page. Very powerful Need these features to provide good user experience on mobile devices

JSON JavaScript Object Notation Javascript variables are very powerful and can hold a wide variety of types of data, including objects, arrays, and values (which can include objects, arrays, strings, numbers, booleans and null). JSON is a lightweight data interchange format. JSON looks just like a javascript variable declaration. It allows us to move data objects back and forth between different processes. Ideal to move data between servers and clients. It will be our choice for moving data between clients and servers using AJAX.

JSON Google Maps Object {"markers": [ { "point":new GLatLng(40.266044,-74.718479), "homeTeam":"Lawrence Library", "awayTeam":"LUGip", "markerImage":"images/red.png", "information": "Linux users group meets second Wednesday of each month.", "fixture":"Wednesday 7pm", "capacity":"", "previousScore":"" }, "point":new GLatLng(40.211600,-74.695702), "homeTeam":"Hamilton Library", "awayTeam":"LUGip HW SIG", "markerImage":"images/white.png", "information": "Linux users can meet the first Tuesday of the month to work out hardware and configuration issues.", "fixture":"Tuesday 7pm", "tv":"" ] }

Use JSON to send a javascript object using AJAX How? Just send the javascript object as a JSON string using AJAX and then tell javascript to “EVALUATE” the object, i.e. Something like: myVar = eval(JSONstring); Voila! Assuming JSONstring contains a valid javascript statement it is executed, creating a local version of the data. More when we discuss AJAX…

Conclusion jQuery provides a wide range of functionality that makes very advanced capabilities available to developers who know a little javascript, html and css. jQuery mobile extends those capabilities for mobile devices by adding a set of mobile features Makes it easy(?) to develop cross platform mobile apps that are fairly sophisticated without using the SDK tools for the mobile device. jQuery mobile uses Phonegap to access mobile device capabilities like geolocation, cameras, accelerometer, etc. jQuery mobile includes capabilities to use AJAX to move data between the mobile device and a remote server. But next we do server-side scripting.

QUESTIONS?