jQuery (BostonPHP)
-
Upload
jeresig -
Category
Technology
-
view
3.878 -
download
0
description
Transcript of jQuery (BostonPHP)
![Page 1: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/1.jpg)
jQueryBostonPHP - June 2008John Resig (ejohn.org)
![Page 2: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/2.jpg)
What is jQuery?✦ An open source JavaScript library that
simplifies the interaction between HTML and JavaScript.
![Page 3: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/3.jpg)
The Focus of jQuery
Find Some Elements
$(“div”).addClass(“special”);Do something with them{ {
jQuery Object
![Page 4: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/4.jpg)
Keep Clean✦ jQuery can be rename ‘$’:
var $jq = jQuery.noConflict();$jq(“div”).hide();
✦ jQuery can even rename ‘jQuery’ allowing multiple copies of jQuery to work side-by-side.
✦ var $a = jQuery.noConflict(true);// load other version of jQuery$a(“div”).hide(); // still works!
![Page 5: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/5.jpg)
Find Some Elements...✦ Full CSS Selector 1-3 Support✦ Better CSS Selector support than most
browsers
![Page 6: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/6.jpg)
$(“div”)<div id=”body”> <h2>Some Header</h2> <div class=”contents”> <p>...</p> <p>...</p> </div></div>
![Page 7: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/7.jpg)
$(“#body”)<div id=”body”> <h2>Some Header</h2> <div class=”contents”> <p>...</p> <p>...</p> </div></div>
![Page 8: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/8.jpg)
$(“div.contents p”)<div id=”body”> <h2>Some Header</h2> <div class=”contents”> <p>...</p> <p>...</p> </div></div>
![Page 9: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/9.jpg)
$(“#body > div”)<div id=”body”> <h2>Some Header</h2> <div class=”contents”> <p>...</p> <p>...</p> </div></div>
![Page 10: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/10.jpg)
$(“div[class]”)<div id=”body”> <h2>Some Header</h2> <div class=”contents”> <p>...</p> <p>...</p> </div></div>
![Page 11: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/11.jpg)
$(“div:has(div)”)<div id=”body”> <h2>Some Header</h2> <div class=”contents”> <p>...</p> <p>...</p> </div></div>
![Page 12: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/12.jpg)
✦ DOM Manipulation (append, prepend, remove)
✦ Events (click, hover, toggle)
✦ Effects (hide, show, slideDown, fadeOut)
✦ AJAX (load, get, post)
Do something with them
![Page 13: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/13.jpg)
DOM Manipulation✦ $(“a[target=_blank]”)
.append(“ <img src=’new.png’/>”);✦ $(“#body”).css({
border: “1px solid green”, height: “40px”});
![Page 14: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/14.jpg)
Events✦ $(“form”).submit(function(){
if ( $(“input#name”).val() == “” ) { $(“span.help”).show(); return false; }});
✦ $(“a#open”).click(function(){ $(“#menu”).show(); return false;});
![Page 15: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/15.jpg)
Animations✦ $(“#menu”).slideDown(“slow”);✦ Individual properties:$(“div”).animate({ fontSize: “2em”, width: “+=20%”, color: “green” // via plugin});
✦ Callbacks:$(“div”).hide(500, function(){ // $(this) is an individual <div> element $(this).show(500);});
![Page 16: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/16.jpg)
Ajax✦ $(“#body”).load(“sample.html”);
✦ Before:<div id=”body”></div>
✦ After:<div id=”body”><h1>Hello, world!</h1></div>
✦ $.getJSON(“test.json”, function(js){ for ( var name in js ) $(“ul”).append(“<li>” + name + “</li>”);});
![Page 17: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/17.jpg)
Ajax (cont.)✦ $(“#body”).load(“sample.html div > h1”);
✦ Before:<div id=”body”></div>
✦ After:<div id=”body”><h1>Hello, world!</h1></div>
![Page 18: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/18.jpg)
✦ You can have multiple actions against a single set of elements
✦ $(“div”).hide();
✦ $(“div”).hide().css(“color”,”blue”);
✦ $(“div”).hide().css(“color”,”blue”).slideDown();
Chaining
![Page 19: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/19.jpg)
Chaining (cont.)✦ $(“ul.open”) // ul
.children(“li”) // li .addClass(“open”) // li .end() // ul .find(“a”) .click(function(){ $(this).next().toggle(); return false; }) .end();
![Page 20: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/20.jpg)
HTML Selector✦ $(“<li><a></a></li>”)
.find(“a”) .attr(“href”, “http://ejohn.org/”) .html(“John Resig”) .end() .appendTo(“ul”);
![Page 21: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/21.jpg)
liveQuery✦ Makes jQuery work like CSS✦ Works on all matches, forever✦ Simple plugin✦ $(“a.stop”).livequery(“click”, function(){
$(this).blur(); return false;});
![Page 22: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/22.jpg)
✦ Fully documented✦ Great community✦ Tons of plugins✦ Small size (15kb)✦ Everything works in IE 6+, Firefox,
Safari 2+, and Opera 9+
Why jQuery?
![Page 23: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/23.jpg)
Accordion Menuhttp://jquery.com/files/apple/
http://jquery.com/files/apple/done.html
![Page 24: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/24.jpg)
Plugins✦ Huge plugin ecosystem✦ Managed by Plugin tracker - built with
Drupal!http://plugins.jquery.com/
✦ Hundreds in the tracker - even more on the web
![Page 25: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/25.jpg)
jQuery Plugins✦ Extend the jQuery system✦ Add on extra methods:$(“div”).hideRemove();
✦ Trivial to implement:jQuery.fn.hideRemove = function(speed){ return this.hide(speed, function(){ jQuery(this).remove(); });};
![Page 26: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/26.jpg)
Todo Listhttp://jquery.com/files/todo/
http://jquery.com/files/todo/done.php
![Page 27: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/27.jpg)
jQuery UI✦ A complete set of themed, cross-browser,
user interface components.✦ Drag, Drop, Sort, Select, Resize✦ Accordion, Datepicker, Dialog, Slider, Tabs✦ More info:
http://docs.jquery.com/UI✦ 1.5 is in beta right now:
http://jquery.com/blog/2008/02/12/jquery-ui-15b-new-api-more-features-huge-performance-boost/
![Page 28: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/28.jpg)
Accessibility✦ Keyboard Accessible✦ Screenreader Accessible✦ Grant from Mozilla Foundation to
implement ARIA
![Page 29: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/29.jpg)
Support✦ Liferay (Java CMS) hired Paul Bakaus,
jQuery UI lead to work on it full time.✦ More support on the way!
![Page 30: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/30.jpg)
Who uses jQuery?✦ Projects:
✦ Wordpress, Drupal, CakePHP, Textpattern, Mozilla
✦ Companies:✦ Google, IBM, Amazon, Digg, Netflix,
Dell, HP, Bank of America, Intel...✦ NBC, CBS, BBC, Reuters, Newsweek,
Boston Globe, and more ✦ many others...
![Page 31: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/31.jpg)
✦ Very active mailing list✦ 100+ Posts/Day✦ 6000+ Members
✦ Technorati: Dozens of blog posts per day
Community
![Page 32: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/32.jpg)
Books✦ 3 Books Released:
✦ Learning jQuery (Packt)✦ jQuery Reference (Packt)✦ jQuery in Action (Manning)
![Page 33: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/33.jpg)
Upcoming✦ New Logo✦ and New Web Site✦ jQuery 1.3
✦ New Selector Engine
![Page 34: jQuery (BostonPHP)](https://reader034.fdocuments.in/reader034/viewer/2022052619/5558be76d8b42aa52a8b50c5/html5/thumbnails/34.jpg)
jquery.comdocs.jquery.com - jquery.com/plugins
More:ui.jquery.com
visualjquery.comlearningjquery.com