SlideShare a Scribd company logo
Using jQuery
         to Extend CSS
             ‱ Fix Cross Browser Problems
               ‱ Solve CSS Shortcomings
               ‱ Do Things CSS Can’t Do
             ‱ Solve ‘Real World’ Problems
‱ Get Your Site into an Environment with a Bright Future
Why jQuery?




‱ What about MooTools? Prototype? (go for it!)
Transparency
With CSS:
.transparent_class {

    /* IE 8 */
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";

    /* IE 5-7 */
    filter: alpha(opacity=50);

    /* Netscape */
    -moz-opacity: 0.5;

    /* Safari 1.x */
    -khtml-opacity: 0.5;

    /* Good browsers */
    opacity: 0.5;
}




‱ Messy
‱ Invalid
Transparency
With jQuery:
$(“.transparent_class”).css(“opacity”, “0.5”);




‱ Clean
‱ Valid
Hover
With CSS:
div {
   background: white;
}

div:hover {
   background: #eee;
}



‱ Not supported in IE <= 6
‱ Limited...
Hover
With jQuery
$(“div”).hover(function(){
    $(this).addClass(“hover”);
}, function(){
    $(this).removeClass(“hover”);
});




‱ All Browser Support
‱ More Options
$(“div”).hover(function(){
    $(this).addClass(“hover bookHighlight”);
}, function(){
    $(this).removeClass(“hover bookHighlight”);
});
Attribute & Psuedo Selectors
HTML
 <input   type=”text” ... />       <ul>
 <input   type=”radio” ... />        <li><a href=”#”>List Item One</a></li>
 <input   type=”submit” ... />       <li><a href=”#”>List Item Two</a></li>
 <input   type=”checkbox” ... />     <li><a href=”#”>List Item Three</a></li>
 <input   type=”password” ... />   </ul>




CSS
 input[type=text] {                ul li {
    width: 250px;                     border-bottom: 1px solid #ccc;
    border: 1px solid #ccc;        }
    padding: 3px;
 }                                 ul li:last-child {
                                      border-bottom: 0;
 input[type=radio] {               }
    vertical-align: middle;
 }




‱ Not supported in IE <= 6
Attribute & Psuedo Selectors
With jQuery
 $(“input[type=text]”)          $(“ul li:last-child”)
    .addClass(“textInput”);        .addClass(“last”);



(Still handle styling with CSS)

 <form>                         $(“input[type=text]”)
    <div>                          .focus(function(){
        <label>Name</label>            $(this).parent().addClass(“formFocus”);
        <input type=”text” />      })
    </div>                         .blur(function(){
    <div>                              $(this).parent().removeClass(“formFocus”);
        <label>Email</label>       });
        <input type=”text” />
    </div>
    ...
Looks Simple?
                                            Grids are hard
                                             ...when not
                                             tabular data.
                                            ...and especially
                                            with variable
                                            height content


                                            Div has a hover state
                                            ...with opacity change
                                            ...and is a link.




   Need right margin   Doesn’t need right margin
Looks Simple?
HTML
<div class="book">
    <h3>Book Title</h3>
    <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac
turpis egestas.</p>
    <a href="http://google.com">Learn More</a>
</div>




CSS
.book {
   width: 120px;
   float: left;
   padding: 10px;
   border: 1px solid #ccc;
   margin: 0 10px 10px 0;
}
Looks Simple?
$(function() {


$(".book:nth-child(4n+1)").css("margin-right","0px");


$(".book a").hide();


var maxHeight = 0;

$(".book").each(function(){

    
if ($(this).height() > maxHeight) { maxHeight = $(this).height(); }

    
$(this).css("opacity", "0.7");

});

$(".book").height(maxHeight);

      $(".book").hover(function(){

    $(this)

     
    
.addClass("hover")

     
    
.css("opacity", "1.0");

}, function(){

    $(this)

     
    
.removeClass("hover")

     
    
.css("opacity", "0.7");

});


    $(".book").click(function(){

    
window.location = $(this).find("a").attr("href");

});

});
Looks Simple?
$(function() {


$(".book:nth-child(4n+1)").css("margin-right","0px");


$(".book a").hide();


var maxHeight = 0;

var books = $(".book");

    

books

    
.each(function() {

    
     
if ($(this).height() > maxHeight) { maxHeight = $(this).height(); }

    
     
$(this).css("opacity", "0.7");

    
})

    

    
.height(maxHeight)

    
     

    
.hover(function() {

    
    $(this)

    
     
    
.addClass("hover")

    
     
    
.css("opacity", "1.0");

    
}, function() {

    
    $(this)

    
     
    
.removeClass("hover")

    
     
    
.css("opacity", "0.7");

    
})

    

    
.click(function() {

    
     
window.location = $(this).find("a").attr("href");

    
});
});
Table Tricks




‱ Zebra Striping
‱ Row / Column Highlighting
Table Tricks
$(function() {

      $("tr:odd").addClass("odd");

      var i = 0;
      $("colgroup").each(function() {
          i++;
          $(this).attr("id", "col"+i);
      });
      var totalCols = i;

      i = 1;
      $("td")
            .each(function() {
          
 $(this).attr("rel", "col"+i);

           i++;

           if (i > totalCols) { i = 1; }

      })

           .hover(function() {

                $(this).parent().addClass("hover");

      
         var curCol = $(this).attr("rel");

      
         $("#"+curCol).addClass("hover");

      
     }, function() {

      
         $(this).parent().removeClass("hover");

      
         var curCol = $(this).attr("rel");

      
         $("#"+curCol).removeClass("hover");

      
     });

});
Table Tricks
$(function() {


$("tr:contains('Hood')").addClass("found");

});
Table Tricks
Plugins!
Tablesorter 2.0 by Christian Bach
http://tablesorter.com/docs/
Animation is Easy




‱ It’s cool... but it’s flair.
‱ It’s (nearly) useless without JS.
Animation is Easy




$(function() {

      $("#page-wrap").append('<img src="/images/expando-tab.png" alt="" id="expando-tab" />');

      
    
    
      $('#expando').load('/expando.html');

      
      $("#expando-tab").click(function(){
          $("#expando").slideToggle();
      });

});
Animation is Easy
                                                          Regular State (overflow: hidden;)



                                                          Expanded State


var baseWidth = $("pre")[0].width(),
<pre><code>
    rightPadding here...
    ... code in = 10;
</code></pre>
$("pre").hover(function() {

var codeInnerWidth = $("code", this).width() + rightPadding;
     if (codeInnerWidth > baseWidth) {

pre 
$(this)
     {

 overflow: hidden;
     
    
.stop()

 width:
.css({
     
      563px;
}

    
    
    
zIndex: "100",

code
 { 
      
position: "relative"

 font-family: Courier, Monospace;
     
    
})
}

    
    
.animate({

    
    
    
width: codeInnerWidth + "px"

    
    
});

    
    }

}, function() {

    
    
$(this).stop().animate({

    
    
    
width: baseWidth

    
});

});
Loading after Loading


                 Big ass movie
                 Starts loading right away,
                 slows down page.

                  $(window).bind(“load”, function() {
                  
    
    
                    $('#movie-area').load('/movie.html');

                  });




                 Bonus
                 If users don’t have
                 JavaScript, the movie isn’t
                 going to play correctly
                 anyway. So nothing is shown.
Controlling Outside Content




                     Design is one thing...
                     Content is another. CSS was
                     able to control the new
                     graphics, but the change in
                     text was done with jQuery.
Controlling Outside Content




           $(function() {
           
    
    
             $('#coupon-link').text('Enter Voucher Code');

             $('#coupon-input').css('display', 'inline');

           });
MMMmmm Plugins
Facebox
http://famspam.com/facebox


Tablesorter
http://tablesorter.com/


Coda Slider
http://www.ndoherty.com/demos/coda-slider/1.1.1/


markItUp!
http://markitup.jaysalvat.com/home/



                                         jQuery UI
                                         http://jqueryui.com/


Interactions                 Widgets                  Effects
 ‱   Draggable               ‱   Accordion             ‱   Show/Hide Methods
 ‱   Droppable               ‱   Datepicker            ‱   Toggle Class
 ‱   Resizable               ‱   Dialog                ‱   Color Animation
 ‱   Selectable              ‱   Progressbar
 ‱   Sortable                ‱   Slider
                             ‱   Tabs
The FUTURE
            jQuery                                 CSS
                                            Dec. 17 1996 - CSS 1
                                            May 12 1998 - CSS 2

Jan.   14   2006   –   jQuery   Announced
Aug.   26   2006   -   jQuery   1.0
Jan.   14   2007   -   jQuery   1.1
                                            Jul. 19 2007 - CSS 2.1
Sep.   10   2007   -   jQuery   1.2
May    24   2008   -   jQuery   1.2.6
Feb.   20   2009   -   jQuery   1.3.2
                                            Apr. 23 2009 - CSS 2.1



                                            ???          - CSS 3



       Released Usable                      Recommendations
           Versions
The FUTURE
‱ Huge community of people USING it.
‱ Huge community of DEVELOPERS.
   ‱ Loads of DOCUMENTATION.
   ‱ Plenty of SUPPORT available.
    ‱ Gosh darn it, people like it!

More Related Content

What's hot (20)

PPTX
jQuery Fundamentals
Gil Fink
 
PDF
jQuery Essentials
Marc Grabanski
 
PPT
A Short Introduction To jQuery
Sudar Muthu
 
PPT
Jquery ui
adm_exoplatform
 
PDF
JQuery UI
Gary Yeh
 
ODP
Introduction to jQuery
manugoel2003
 
PDF
The jQuery Divide
Rebecca Murphey
 
PDF
D3.js and SVG
Karol Depka Pradzinski
 
PDF
Learning jQuery in 30 minutes
Simon Willison
 
PPTX
jQuery
Jay Poojara
 
PPTX
A Rich Web experience with jQuery, Ajax and .NET
James Johnson
 
PDF
jQuery: Nuts, Bolts and Bling
Doug Neiner
 
PDF
jQuery for beginners
Siva Arunachalam
 
PPTX
jQuery
Vishwa Mohan
 
PDF
jQuery Essentials
Bedis ElAchĂšche
 
PDF
Modern Application Foundations: Underscore and Twitter Bootstrap
Howard Lewis Ship
 
PPT
Jquery
Girish Srivastava
 
PPTX
Unobtrusive javascript with jQuery
Angel Ruiz
 
PDF
HTML5 Canvas - The Future of Graphics on the Web
Robin Hawkes
 
PPTX
A Rich Web Experience with jQuery, Ajax and .NET
James Johnson
 
jQuery Fundamentals
Gil Fink
 
jQuery Essentials
Marc Grabanski
 
A Short Introduction To jQuery
Sudar Muthu
 
Jquery ui
adm_exoplatform
 
JQuery UI
Gary Yeh
 
Introduction to jQuery
manugoel2003
 
The jQuery Divide
Rebecca Murphey
 
D3.js and SVG
Karol Depka Pradzinski
 
Learning jQuery in 30 minutes
Simon Willison
 
jQuery
Jay Poojara
 
A Rich Web experience with jQuery, Ajax and .NET
James Johnson
 
jQuery: Nuts, Bolts and Bling
Doug Neiner
 
jQuery for beginners
Siva Arunachalam
 
jQuery
Vishwa Mohan
 
jQuery Essentials
Bedis ElAchĂšche
 
Modern Application Foundations: Underscore and Twitter Bootstrap
Howard Lewis Ship
 
Unobtrusive javascript with jQuery
Angel Ruiz
 
HTML5 Canvas - The Future of Graphics on the Web
Robin Hawkes
 
A Rich Web Experience with jQuery, Ajax and .NET
James Johnson
 

Similar to Using jQuery to Extend CSS (20)

PDF
jQuery - 10 Time-Savers You (Maybe) Don't Know
girish82
 
KEY
Introduction to jQuery - Barcamp London 9
Jack Franklin
 
PPTX
CSS: A Slippery Slope to the Backend
FITC
 
PDF
Introduction to jQuery (Ajax Exp 2006)
jeresig
 
KEY
CSS3 Takes on the World
Jonathan Snook
 
PDF
Cheap frontend tricks
ambiescent
 
PPT
jQuery Loves You
DotNetMarche
 
PDF
jQuery UI and Plugins
Marc Grabanski
 
PDF
Introduction to jQuery (Ajax Exp 2007)
jeresig
 
PPT
JQuery Flot
Arshavski Alexander
 
PDF
JavaScript for Flex Devs
Aaronius
 
PDF
The Dom Scripting Toolkit J Query
QConLondon2008
 
KEY
The Inclusive Web: hands-on with HTML5 and jQuery
colinbdclark
 
PDF
Jquery in-15-minutes1421
palsingh26
 
PDF
Yearning jQuery
Remy Sharp
 
PDF
jQuery
Ivano Malavolta
 
PDF
jQuery Rescue Adventure
Allegient
 
PPT
J query b_dotnet_ug_meet_12_may_2012
ghnash
 
PPTX
Svcc 2013-d3
Oswald Campesato
 
jQuery - 10 Time-Savers You (Maybe) Don't Know
girish82
 
Introduction to jQuery - Barcamp London 9
Jack Franklin
 
CSS: A Slippery Slope to the Backend
FITC
 
Introduction to jQuery (Ajax Exp 2006)
jeresig
 
CSS3 Takes on the World
Jonathan Snook
 
Cheap frontend tricks
ambiescent
 
jQuery Loves You
DotNetMarche
 
jQuery UI and Plugins
Marc Grabanski
 
Introduction to jQuery (Ajax Exp 2007)
jeresig
 
JQuery Flot
Arshavski Alexander
 
JavaScript for Flex Devs
Aaronius
 
The Dom Scripting Toolkit J Query
QConLondon2008
 
The Inclusive Web: hands-on with HTML5 and jQuery
colinbdclark
 
Jquery in-15-minutes1421
palsingh26
 
Yearning jQuery
Remy Sharp
 
jQuery
Ivano Malavolta
 
jQuery Rescue Adventure
Allegient
 
J query b_dotnet_ug_meet_12_may_2012
ghnash
 
Svcc 2013-d3
Oswald Campesato
 
Ad

Recently uploaded (20)

PDF
Dev Dives: Accelerating agentic automation with Autopilot for Everyone
UiPathCommunity
 
PPTX
Practical Applications of AI in Local Government
OnBoard
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
Modern Decentralized Application Architectures.pdf
Kalema Edgar
 
PDF
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
PDF
Sound the Alarm: Detection and Response
VICTOR MAESTRE RAMIREZ
 
PDF
Governing Geospatial Data at Scale: Optimizing ArcGIS Online with FME in Envi...
Safe Software
 
PDF
Kit-Works Team Study_20250627_í•œë‹Źë§Œì—ë§Œë“ ì‚Źë‚Žì„œëč„슀킀링(양닀윗).pdf
Wonjun Hwang
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PDF
Deploy Faster, Run Smarter: Learn Containers with QNAP
QNAP Marketing
 
PDF
Enhancing Environmental Monitoring with Real-Time Data Integration: Leveragin...
Safe Software
 
PPTX
Enabling the Digital Artisan – keynote at ICOCI 2025
Alan Dix
 
PDF
Darley - FIRST Copenhagen Lightning Talk (2025-06-26) Epochalypse 2038 - Time...
treyka
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
Quantum Threats Are Closer Than You Think – Act Now to Stay Secure
WSO2
 
PPTX
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Poster...
Michele Kryston
 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
PDF
How to Comply With Saudi Arabia’s National Cybersecurity Regulations.pdf
Bluechip Advanced Technologies
 
PDF
Bitkom eIDAS Summit | European Business Wallet: Use Cases, Macroeconomics, an...
Carsten Stoecker
 
Dev Dives: Accelerating agentic automation with Autopilot for Everyone
UiPathCommunity
 
Practical Applications of AI in Local Government
OnBoard
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Modern Decentralized Application Architectures.pdf
Kalema Edgar
 
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
Sound the Alarm: Detection and Response
VICTOR MAESTRE RAMIREZ
 
Governing Geospatial Data at Scale: Optimizing ArcGIS Online with FME in Envi...
Safe Software
 
Kit-Works Team Study_20250627_í•œë‹Źë§Œì—ë§Œë“ ì‚Źë‚Žì„œëč„슀킀링(양닀윗).pdf
Wonjun Hwang
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
Deploy Faster, Run Smarter: Learn Containers with QNAP
QNAP Marketing
 
Enhancing Environmental Monitoring with Real-Time Data Integration: Leveragin...
Safe Software
 
Enabling the Digital Artisan – keynote at ICOCI 2025
Alan Dix
 
Darley - FIRST Copenhagen Lightning Talk (2025-06-26) Epochalypse 2038 - Time...
treyka
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
Quantum Threats Are Closer Than You Think – Act Now to Stay Secure
WSO2
 
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Poster...
Michele Kryston
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
How to Comply With Saudi Arabia’s National Cybersecurity Regulations.pdf
Bluechip Advanced Technologies
 
Bitkom eIDAS Summit | European Business Wallet: Use Cases, Macroeconomics, an...
Carsten Stoecker
 
Ad

Using jQuery to Extend CSS

  • 1. Using jQuery to Extend CSS ‱ Fix Cross Browser Problems ‱ Solve CSS Shortcomings ‱ Do Things CSS Can’t Do ‱ Solve ‘Real World’ Problems ‱ Get Your Site into an Environment with a Bright Future
  • 2. Why jQuery? ‱ What about MooTools? Prototype? (go for it!)
  • 3. Transparency With CSS: .transparent_class { /* IE 8 */ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; /* IE 5-7 */ filter: alpha(opacity=50); /* Netscape */ -moz-opacity: 0.5; /* Safari 1.x */ -khtml-opacity: 0.5; /* Good browsers */ opacity: 0.5; } ‱ Messy ‱ Invalid
  • 5. Hover With CSS: div { background: white; } div:hover { background: #eee; } ‱ Not supported in IE <= 6 ‱ Limited...
  • 6. Hover With jQuery $(“div”).hover(function(){ $(this).addClass(“hover”); }, function(){ $(this).removeClass(“hover”); }); ‱ All Browser Support ‱ More Options $(“div”).hover(function(){ $(this).addClass(“hover bookHighlight”); }, function(){ $(this).removeClass(“hover bookHighlight”); });
  • 7. Attribute & Psuedo Selectors HTML <input type=”text” ... /> <ul> <input type=”radio” ... /> <li><a href=”#”>List Item One</a></li> <input type=”submit” ... /> <li><a href=”#”>List Item Two</a></li> <input type=”checkbox” ... /> <li><a href=”#”>List Item Three</a></li> <input type=”password” ... /> </ul> CSS input[type=text] { ul li { width: 250px; border-bottom: 1px solid #ccc; border: 1px solid #ccc; } padding: 3px; } ul li:last-child { border-bottom: 0; input[type=radio] { } vertical-align: middle; } ‱ Not supported in IE <= 6
  • 8. Attribute & Psuedo Selectors With jQuery $(“input[type=text]”) $(“ul li:last-child”) .addClass(“textInput”); .addClass(“last”); (Still handle styling with CSS) <form> $(“input[type=text]”) <div> .focus(function(){ <label>Name</label> $(this).parent().addClass(“formFocus”); <input type=”text” /> }) </div> .blur(function(){ <div> $(this).parent().removeClass(“formFocus”); <label>Email</label> }); <input type=”text” /> </div> ...
  • 9. Looks Simple? Grids are hard ...when not tabular data. ...and especially with variable height content Div has a hover state ...with opacity change ...and is a link. Need right margin Doesn’t need right margin
  • 10. Looks Simple? HTML <div class="book"> <h3>Book Title</h3> <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p> <a href="http://google.com">Learn More</a> </div> CSS .book { width: 120px; float: left; padding: 10px; border: 1px solid #ccc; margin: 0 10px 10px 0; }
  • 11. Looks Simple? $(function() { $(".book:nth-child(4n+1)").css("margin-right","0px"); $(".book a").hide(); var maxHeight = 0; $(".book").each(function(){ if ($(this).height() > maxHeight) { maxHeight = $(this).height(); } $(this).css("opacity", "0.7"); }); $(".book").height(maxHeight); $(".book").hover(function(){ $(this) .addClass("hover") .css("opacity", "1.0"); }, function(){ $(this) .removeClass("hover") .css("opacity", "0.7"); }); $(".book").click(function(){ window.location = $(this).find("a").attr("href"); }); });
  • 12. Looks Simple? $(function() { $(".book:nth-child(4n+1)").css("margin-right","0px"); $(".book a").hide(); var maxHeight = 0; var books = $(".book"); books .each(function() { if ($(this).height() > maxHeight) { maxHeight = $(this).height(); } $(this).css("opacity", "0.7"); }) .height(maxHeight) .hover(function() { $(this) .addClass("hover") .css("opacity", "1.0"); }, function() { $(this) .removeClass("hover") .css("opacity", "0.7"); }) .click(function() { window.location = $(this).find("a").attr("href"); }); });
  • 13. Table Tricks ‱ Zebra Striping ‱ Row / Column Highlighting
  • 14. Table Tricks $(function() { $("tr:odd").addClass("odd"); var i = 0; $("colgroup").each(function() { i++; $(this).attr("id", "col"+i); }); var totalCols = i; i = 1; $("td") .each(function() { $(this).attr("rel", "col"+i); i++; if (i > totalCols) { i = 1; } }) .hover(function() { $(this).parent().addClass("hover"); var curCol = $(this).attr("rel"); $("#"+curCol).addClass("hover"); }, function() { $(this).parent().removeClass("hover"); var curCol = $(this).attr("rel"); $("#"+curCol).removeClass("hover"); }); });
  • 16. Table Tricks Plugins! Tablesorter 2.0 by Christian Bach http://tablesorter.com/docs/
  • 17. Animation is Easy ‱ It’s cool... but it’s flair. ‱ It’s (nearly) useless without JS.
  • 18. Animation is Easy $(function() { $("#page-wrap").append('<img src="/images/expando-tab.png" alt="" id="expando-tab" />'); $('#expando').load('/expando.html'); $("#expando-tab").click(function(){ $("#expando").slideToggle(); }); });
  • 19. Animation is Easy Regular State (overflow: hidden;) Expanded State var baseWidth = $("pre")[0].width(), <pre><code> rightPadding here... ... code in = 10; </code></pre> $("pre").hover(function() { var codeInnerWidth = $("code", this).width() + rightPadding; if (codeInnerWidth > baseWidth) { pre $(this) { overflow: hidden; .stop() width: .css({ 563px; } zIndex: "100", code { position: "relative" font-family: Courier, Monospace; }) } .animate({ width: codeInnerWidth + "px" }); } }, function() { $(this).stop().animate({ width: baseWidth }); });
  • 20. Loading after Loading Big ass movie Starts loading right away, slows down page. $(window).bind(“load”, function() { $('#movie-area').load('/movie.html'); }); Bonus If users don’t have JavaScript, the movie isn’t going to play correctly anyway. So nothing is shown.
  • 21. Controlling Outside Content Design is one thing... Content is another. CSS was able to control the new graphics, but the change in text was done with jQuery.
  • 22. Controlling Outside Content $(function() { $('#coupon-link').text('Enter Voucher Code'); $('#coupon-input').css('display', 'inline'); });
  • 23. MMMmmm Plugins Facebox http://famspam.com/facebox Tablesorter http://tablesorter.com/ Coda Slider http://www.ndoherty.com/demos/coda-slider/1.1.1/ markItUp! http://markitup.jaysalvat.com/home/ jQuery UI http://jqueryui.com/ Interactions Widgets Effects ‱ Draggable ‱ Accordion ‱ Show/Hide Methods ‱ Droppable ‱ Datepicker ‱ Toggle Class ‱ Resizable ‱ Dialog ‱ Color Animation ‱ Selectable ‱ Progressbar ‱ Sortable ‱ Slider ‱ Tabs
  • 24. The FUTURE jQuery CSS Dec. 17 1996 - CSS 1 May 12 1998 - CSS 2 Jan. 14 2006 – jQuery Announced Aug. 26 2006 - jQuery 1.0 Jan. 14 2007 - jQuery 1.1 Jul. 19 2007 - CSS 2.1 Sep. 10 2007 - jQuery 1.2 May 24 2008 - jQuery 1.2.6 Feb. 20 2009 - jQuery 1.3.2 Apr. 23 2009 - CSS 2.1 ??? - CSS 3 Released Usable Recommendations Versions
  • 25. The FUTURE ‱ Huge community of people USING it. ‱ Huge community of DEVELOPERS. ‱ Loads of DOCUMENTATION. ‱ Plenty of SUPPORT available. ‱ Gosh darn it, people like it!