SlideShare uma empresa Scribd logo
1 de 73
phpXperts - 09
What is jQuery

 Javascript Library
 Fast and concise
 Simplifies the interaction between HTML and JavaScript




                                           phpXperts - 09
Why jQuery?

 Lightweight : 19KB in size (Minified and Gzipped)
 CSS1 - 3 Complaint
 Cross Browser
     (IE 6.0+, FF 2+, Safari 3.0+, Opera 9.0+, Chrome)




                                                 phpXperts - 09
Why jQuery?

 Lightweight : 19KB in size (Minified and Gzipped)
 CSS1 - 3 Complaint
 Cross Browser
     (IE 6.0+, FF 2+, Safari 3.0+, Opera 9.0+, Chrome)



        Great Community                      Plugins

             Tutorials          TestCoverage

       Open (free) license                    Books



                                                 phpXperts - 09
A ajax and DOM manipulation example
if (!document.ELEMENT_NODE) { document.ELEMENT_NODE = 1;
   document.ATTRIBUTE_NODE = 2; document.TEXT_NODE = 3;
   document.CDATA_SECTION_NODE = 4; document.ENTITY_REFERENCE_NODE = 5;
   document.ENTITY_NODE = 6; document.PROCESSING_INSTRUCTION_NODE = 7;
   document.COMMENT_NODE = 8; document.DOCUMENT_NODE = 9;
   document.DOCUMENT_TYPE_NODE = 10; document.DOCUMENT_FRAGMENT_NODE = 11;
   document.NOTATION_NODE = 12; } document._importNode = function(node,
   allChildren) { switch (node.nodeType) { case document.ELEMENT_NODE: var
   newNode = document.createElement(node » .nodeName); /* does the node
   have any attributes to add? */ if (node.attributes && node.attributes »
   .length > 0) for (var i = 0; il = node.attributes.length; » i < il)
   newNode.setAttribute(node.attributes » .nodeName,
   node.getAttribute(node.attributes[i++] » .nodeName)); /* are we going
   after children too, and does » the node have any? */ if (allChildren &&
   node.childNodes && » node.childNodes.length > 0) for (var i = 0; il =
   node.childNodes.length; » i < il)
   newNode.appendChild(document._importNode » (node.childNodes[i++],
   allChildren)); return newNode; break; case document.TEXT_NODE: case
   document.CDATA_SECTION_NODE: case document.COMMENT_NODE: return
   document.createTextNode(node.nodeValue); break; } };


         http://www.alistapart.com/articles/crossbrowserscripting


                                                        phpXperts - 09
It’s just a single line in jQuery
$(“#content”).load(“page.html #content”);




                                    phpXperts - 09
Who’s using jQuery?




     http://docs.jquery.com/Sites_Using_jQuery


                                        phpXperts - 09
Dominating the world

Google trends comparison of last JS framework 12 months




http://www.google.com/trends?q=jQuery%2C+prototype%2C+yui%2C+dojo%2C+mootools&ctab=0&g
    eo=all&date=ytd&sort=0



                                                                phpXperts - 09
Let’s Start




                    Download jQuery
         http://docs.jquery.com/Downloading_jQuery




                                           phpXperts - 09
Embed in you page
<html>
  <head>
  <script src=“path/to/jquery-x.x.js"></script>
  </head>
  <body> … </body>
</html>




                                      phpXperts - 09
Embed in you page
<html>
  <head>
  <script src="path/to/jquery-x.x.js"></script>
  <script>
     $(document).ready(function(){
           // Start here
     });
  </script>
  </head>
  <body> … </body>
</html>


                                      phpXperts - 09
jQuery philosophy
Find Some Elements
  {
 $(“div”).addClass(“xyz”);

                     }
                  Do something with them

         jQuery Object




                                    phpXperts - 09
A Basic Example



 <body>
    <div>
      <p>I m a paragraph 1</p>
      <p>I m a paragraph 2</p>
    </div>
    <p>I m another paragraph</p>
 </body>




                                   phpXperts - 09
A Basic Example
Select all paragraphs.
$(“p”)

 <body>
    <div>
      <p>I m a paragraph 1</p>
      <p>I m a paragraph 2</p>
    </div>
    <p>I m another paragraph</p>
 </body>




                                   phpXperts - 09
A Basic Example
Select all paragraphs. Add a class to them.
$(“p”).addClass(“red”);

 <body>
    <div>
       <p class=“red”>I m a paragraph -1</p>
       <p class=“red”>I m a paragraph -2</p>
    </div>
    <p class=“red”>I m another paragraph</p>
 </body>




                                              phpXperts - 09
Selector Basics

       Just pass a selector to $()

                      What is   selector?


       Use any CSS selector




                                     phpXperts - 09
Selector Basics
            Think about your simplest css file.

#header{
    margin : 0 auto;
}
div{
    margin : 0px;
    padding : 0px
}
ul.menu li{
    …..
}


                                           phpXperts - 09
Selector Basics
             The red colored items are selectors

#header{
    margin : 0 auto;
}
div{
    margin : 0px;
    padding : 0px
}
ul.menu li{
    …..
}


                                             phpXperts - 09
Selector Basics
                 Selecting using selectors
 Selecting By Id
     $(“#header”)




                                             phpXperts - 09
Selector Basics
                  Selecting using selectors
 Selecting By Id
     $(“#header”)
 Selecting By Class
     $(“.updated”)




                                              phpXperts - 09
Selector Basics
                   Selecting using selectors
 Selecting By Id
     $(“#header”)
 Selecting By Class
     $(“.updated”)
 Selecting by tag name
     $(“table”)




                                               phpXperts - 09
Selector Basics
                   Selecting using selectors
 Selecting By Id
     $(“#header”)
 Selecting By Class
     $(“.updated”)
 Selecting by tag name
     $(“table”)
 Combine them
     $(“table.user-list”)
     $(“#footer ul.menu li”)




                                               phpXperts - 09
Basic Selector Example
This is my page


<body>
  <div id=“header”>
      <span id=“logo”>Logo here…</span>
      <ul class=“menu”>
         <li>user name</li>
         …..
         <li>logout</li>
      </ul>
  </div>
   ……
</body>



                                          phpXperts - 09
Basic Selector Example
$(“#header”)


<body>
  <div id=“header”>
      <span id=“logo”>Logo here…</span>
      <ul class=“menu”>
         <li>user name</li>
         …..
         <li>logout</li>
      </ul>
  </div>
  ……
</body>



                                          phpXperts - 09
Basic Selector Example
$(“ul.menu”)


<body>
  <div id=“header”>
      <span id=“logo”>Logo here…</span>
      <ul class=“menu”>
         <li>user name</li>
         …..
         <li>logout</li>
      </ul>
  </div>
  ……
</body>



                                          phpXperts - 09
Basic Selector Example
$(“ul.menu li”)


<body>
  <div id=“header”>
      <span id=“logo”>Logo here…</span>
      <ul class=“menu”>
         <li>user name</li>
         …..
         <li>logout</li>
      </ul>
  </div>
  ……
</body>



                                          phpXperts - 09
Using filters for selecting

  Basic Filters
     :first, :last, :even, :odd, …...




                                         phpXperts - 09
Basic Filters Example

Student list table. Lets make it zebra.




        Name             Class            Roll No.       Comment
Raju                      XII                2       Good
Masud                      IX                1       Good
Apu                       XII                3
Mizan                     XII                5
Karim                      VI                2       Satisfactory




                                                     phpXperts - 09
Basic Filters Example

$(“#students tr:even”).css(“background-color”, “#dde”)




        Name       Class         Roll No.       Comment
Raju                XII             2       Good
Masud               IX              1       Good
Apu                 XII             3
Mizan               XII             5
Karim               VI              2       Satisfactory




                                            phpXperts - 09
Using filters for selecting

  Basic Filters
     :first, :last, :even, :odd, …...
  Content Filters:
     :empty , :contains(text), :has(selector), …..




                                                      phpXperts - 09
Content Filters Example

$(“#students tr:even”).css(“background-color”, “#dde”);
$(“#students td.comment:empty”).text(“No Comment”);




        Name       Class         Roll No.       Comment
Raju                XII             2       Good
Masud               IX              1       Good
Apu                 XII             3       No Comment
Mizan               XII             5       No Comment
Karim               VI              2       Satisfactory




                                            phpXperts - 09
Using filters for selecting

  Basic Filters
     :first, :last, :even, :odd, …...
  Content Filters:
     :empty , :contains(text), :has(selector), …..
  Attribute Filters:
     [attribute], [attribute=value], [attribute!=value], …..




                                                      phpXperts - 09
Attribute Filters Example

$(“#students tr:even”).css(“background-color”, “#dde”);
$(“#students td.comment:empty”).text(“No Comment”);
$(“#students td[align=„center']").addClass(“ocean”);




        Name       Class         Roll No.       Comment
Raju                XII             2       Good
Masud               IX              1       Good
Apu                 XII             3       No Comment
Mizan               XII             5       No Comment
Karim               VI              2       Satisfactory




                                            phpXperts - 09
Using filters for selecting

  Basic Filters
     :first, :last, :even, :odd, …...
  Content Filters:
     :empty , :contains(text), :has(selector), …..
  Attribute Filters:
     [attribute], [attribute=value], [attribute!=value], …..
  Forms
     :input, :text, :submit, :password, …..
     :enabled, :disabled, :checked, …..




                                                      phpXperts - 09
Forms Selector Example

$(":submit").click(function(e){ … });

$("input:disabled").val(“You cannot change me");

$(“#form-id input:checked”).addClass(“selected”);




                                           phpXperts - 09
Now we can Select
Let’s perform some action




                            phpXperts - 09
jQuery Methods

 DOM Manipulation
     before(), after(), append(), appendTo(), …..




                                                     phpXperts - 09
Dom Manipulation Example

Move all paragraphs in div with id “contents”

$(“p”)


<body>
  <h1>jQuery</h1>
  <p>jQuery is good</p>
  <p>jQuery is better</p>
  <div id=“contents”></div>
  <p>jQuery is the best</p>

</body>




                                                phpXperts - 09
Dom Manipulation Example

Move all paragraphs in div with id “contents”

$(“p”).appendTo(“#contents”);


<body>
  <h1>jQuery</h1>
  <div id=“contents”>
      <p>jQuery is good</p>
      <p>jQuery is better</p>
      <p>jQuery is the best</p>
  </div>
</body>




                                                phpXperts - 09
Dom Manipulation Example

Move all paragraphs in div with id “contents”

$(“p”).appendTo(“#contents”);
$(“h1”).append(“ Dom Manipulation”);

<body>
  <h1>jQuery Dom Manipulation</h1>
  <div id=“contents”>
      <p>jQuery is good</p>
      <p>jQuery is better</p>
      <p>jQuery is the best</p>
  </div>
</body>




                                                phpXperts - 09
jQuery Methods

 DOM Manipulation
     before(), after(), append(), appendTo(), …..
 Attributes
     css(), addClass(), attr(), html(), val(), …..




                                                      phpXperts - 09
Attributes Example

Make the texts of last paragraph bold

$(“#contents p:last”).css(“color”, “green”);

<body>
  <h1>jQuery Dom Manipulation</h1>
  <div id=“contents”>
      <p >jQuery is good</p>
      <p>jQuery is better</p>
      <p style=“color:green”>jQuery is the best</p>
  </div>
</body>




                                        phpXperts - 09
More Attributes Example

                     Setting

 $(“img.logo”).attr(“align”, “left”);
 $(“p.copyright”).html(“&copy; 2009 ajaxray”);
 $(“input#name”).val(“Spiderman”);




                                        phpXperts - 09
More Attributes Example

                     Setting

 $(“img.logo”).attr(“align”, “left”);
 $(“p.copyright”).html(“&copy; 2009 ajaxray”);
 $(“input#name”).val(“Spiderman”);

                     Getting

 var allignment = $(“img.logo”).attr(“align”);
 var copyright = $(“p.copyright”).html();
 var username = $(“input#name”).val();




                                         phpXperts - 09
jQuery Methods

 DOM Manipulation
     before(), after(), append(), appendTo(), …..
 Attributes
     css(), addClass(), attr(), html(), val(), …..
 Events
     click(), bind(), unbind(), live(), …..




                                                      phpXperts - 09
Event Example

Start when DOM is ready

$(document).ready(function(){

  $(selector).eventName(function(){…});

});




                                          phpXperts - 09
Event Example
Bind all interactions on events.

$(document).ready(function(){

  $(“#message”).click(function(){
      $(this).hide();
  })

});

<span id=“message” onclick=“…”> blah blah </span>




                                       phpXperts - 09
Event Example
You can fire events manually.

$(document).ready(function(){

  $(“span#message”).click(function(){
      $(this).hide();
  })

  $(“#form-id:reset”).click();

});




                                        phpXperts - 09
jQuery Methods

 DOM Manipulation
     before(), after(), append(), appendTo(), …..
 Attributes
     css(), addClass(), attr(), html(), val(), …..
 Events
     click(), bind(), unbind(), live(), …..
 Effects
     hide(), fadeOut(), toggle(), animate(), …..




                                                      phpXperts - 09
Effects Example

When “show-cart” link clicked, slide up/down “cart” div.

$(“a#show-cart”).click(function(){
   $(“#cart”).slideToggle(“slow”);
})




                                                      phpXperts - 09
Effects Example

Build your custom animation

$(“a#show-cart”).click(function(){
   $(“#cart”).slideToggle(“slow”);
})

$("#showdown").click(function(){
   $("#my-div").animate({
      width: "70%",
      opacity: 0.4,
      fontSize: "3em“
   }, 1200 );
});




                                     phpXperts - 09
jQuery Methods

 DOM Manipulation
     before(), after(), append(), appendTo(), …..
 Attributes
     css(), addClass(), attr(), html(), val(), …..
 Events
     click(), bind(), unbind(), live(), …..
 Effects
     hide(), fadeOut(), toggle(), animate(), …..
 Ajax
     load(), get(), ajax(), getJSON(), …..




                                                      phpXperts - 09
Ajax Examples

Load a page in a container

$(“#comments”).load(“/get_comments.php”);

$(“#comments”).load(“/get_comments.php”, {max : 5});




                                       phpXperts - 09
Ajax Examples

Send ajax request with data

$.get(“/edit_comment.php",
      {id: 102, comment: “I m edited"}
);




                                         phpXperts - 09
Ajax Examples

You can send serialized form as data

$.get(“/edit_comment.php",
      $(“#edit-comment”).serialize()
);


id=102&comment=I+m+edited




                                       phpXperts - 09
Ajax Examples

Set a callback function for handling response data

$.get(“edit_comment.php",
      $(“form#cmm-edit”).serialize(),
      function(data){
         if(data == “success”)
            alert(“Comment Edited!”);
      }
);




                                              phpXperts - 09
Chaining Methods

 Most jQuery methods return jQuery object
 You can chain them together




                                            phpXperts - 09
Chaining Methods

  Most jQuery methods return jQuery object
  You can chain them together


$(“#deleted”).addClass(“red”).fadeOut(“slow”);
$(“:button”).val(“Click Me”).click(function(){…})




                                             phpXperts - 09
Chaining Methods

  Most jQuery methods return jQuery object
  You can chain them together


$(“#deleted”).addClass(“red”).fadeOut(“slow”);
$(“:button”).val(“Click Me”).click(function(){…})


This will not work -


$(“:button”).val().click(function(){…})


                       This method will return string



                                                        phpXperts - 09
jQuery Plugins
jQuery is extensible.




                        phpXperts - 09
jQuery Plugins

                    jQuery lightBox




    http://leandrovieira.com/projects/jquery/lightbox/




                                            phpXperts - 09
jQuery Plugins

                    Slider Plugins




   http://www.hieu.co.uk/blog/index.php/imageswitch/
        http://medienfreunde.com/lab/innerfade/


                                         phpXperts - 09
And thousands of more…
http://plugins.jquery.com/




                             phpXperts - 09
jQuery UI
Build highly interactive web applications




                                            phpXperts - 09
jQuery UI – Interactions
      (Draggale, Droppable, Resizable, Selectable, Sortable)




                                                    phpXperts - 09
jQuery UI – Sortable Example


$("#items").sortable();




                               phpXperts - 09
jQuery UI – Widgets
     (Accordion, Datepicker, Dialog, Progressbar, Slider, Tabs)




                                                     phpXperts - 09
jQuery UI – Datepicker Example

$("#date").datepicker();




                                 phpXperts - 09
Which one will match your site?




                                  phpXperts - 09
Designing a jQuery UI theme - Themeroller




         http://ui.jquery.com/themeroller

                                            phpXperts - 09
Anis uddin Ahmad
Sr. Software Engineer
Right Brain Solution Ltd.
http://ajaxray.com




                            phpXperts - 09
Questions?




             phpXperts - 09
THANK YOU




            phpXperts - 09

Mais conteúdo relacionado

Mais procurados

Система рендеринга в Magento
Система рендеринга в MagentoСистема рендеринга в Magento
Система рендеринга в Magento
Magecom Ukraine
 

Mais procurados (19)

Learning jQuery in 30 minutes
Learning jQuery in 30 minutesLearning jQuery in 30 minutes
Learning jQuery in 30 minutes
 
jQuery Essentials
jQuery EssentialsjQuery Essentials
jQuery Essentials
 
Javascript
JavascriptJavascript
Javascript
 
Your code sucks, let's fix it - PHP Master Series 2012
Your code sucks, let's fix it - PHP Master Series 2012Your code sucks, let's fix it - PHP Master Series 2012
Your code sucks, let's fix it - PHP Master Series 2012
 
Your code sucks, let's fix it - DPC UnCon
Your code sucks, let's fix it - DPC UnConYour code sucks, let's fix it - DPC UnCon
Your code sucks, let's fix it - DPC UnCon
 
Your code sucks, let's fix it (CakeFest2012)
Your code sucks, let's fix it (CakeFest2012)Your code sucks, let's fix it (CakeFest2012)
Your code sucks, let's fix it (CakeFest2012)
 
Geek Moot '09 -- Smarty 101
Geek Moot '09 -- Smarty 101Geek Moot '09 -- Smarty 101
Geek Moot '09 -- Smarty 101
 
jQuery
jQueryjQuery
jQuery
 
jQuery
jQueryjQuery
jQuery
 
jQuery introduction
jQuery introductionjQuery introduction
jQuery introduction
 
Система рендеринга в Magento
Система рендеринга в MagentoСистема рендеринга в Magento
Система рендеринга в Magento
 
J query
J queryJ query
J query
 
Open Source Search: An Analysis
Open Source Search: An AnalysisOpen Source Search: An Analysis
Open Source Search: An Analysis
 
Learn css3
Learn css3Learn css3
Learn css3
 
Disregard Inputs, Acquire Zend_Form
Disregard Inputs, Acquire Zend_FormDisregard Inputs, Acquire Zend_Form
Disregard Inputs, Acquire Zend_Form
 
J query1
J query1J query1
J query1
 
JQuery introduction
JQuery introductionJQuery introduction
JQuery introduction
 
Introduzione JQuery
Introduzione JQueryIntroduzione JQuery
Introduzione JQuery
 
jquery
jqueryjquery
jquery
 

Destaque

The Creative U
The Creative UThe Creative U
The Creative U
gloson123
 
Partitions and multi primary edition 3
Partitions and multi primary   edition 3Partitions and multi primary   edition 3
Partitions and multi primary edition 3
guest93988b
 
Jquery presentation
Jquery presentationJquery presentation
Jquery presentation
guest5d87aa6
 

Destaque (20)

Phil 700 report
Phil 700 reportPhil 700 report
Phil 700 report
 
The Creative U
The Creative UThe Creative U
The Creative U
 
Partitions and multi primary edition 3
Partitions and multi primary   edition 3Partitions and multi primary   edition 3
Partitions and multi primary edition 3
 
Pearl harbro
Pearl harbroPearl harbro
Pearl harbro
 
Jquery presentation
Jquery presentationJquery presentation
Jquery presentation
 
Joomla
JoomlaJoomla
Joomla
 
22學期永和社大2010.0531社團聯展簡報
22學期永和社大2010.0531社團聯展簡報22學期永和社大2010.0531社團聯展簡報
22學期永和社大2010.0531社團聯展簡報
 
largest and heaviest slewing bearings used in deck cranes exported to Europe
largest and heaviest slewing bearings used in deck cranes exported to Europelargest and heaviest slewing bearings used in deck cranes exported to Europe
largest and heaviest slewing bearings used in deck cranes exported to Europe
 
Totally Excellent Tips for Righteous Local SEO
Totally Excellent Tips for Righteous Local SEOTotally Excellent Tips for Righteous Local SEO
Totally Excellent Tips for Righteous Local SEO
 
Pénfigo
PénfigoPénfigo
Pénfigo
 
Projeto gelo
Projeto geloProjeto gelo
Projeto gelo
 
CREATIVITY: Renew Your Thinking, Transform Your Life
CREATIVITY: Renew Your Thinking, Transform Your LifeCREATIVITY: Renew Your Thinking, Transform Your Life
CREATIVITY: Renew Your Thinking, Transform Your Life
 
Shall we play a game?
Shall we play a game?Shall we play a game?
Shall we play a game?
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 
UX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and ArchivesUX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and Archives
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 
Designing Teams for Emerging Challenges
Designing Teams for Emerging ChallengesDesigning Teams for Emerging Challenges
Designing Teams for Emerging Challenges
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of Work
 

Semelhante a Jquery presentation

Rich Internet Applications con JavaFX e NetBeans
Rich Internet Applications  con JavaFX e NetBeans Rich Internet Applications  con JavaFX e NetBeans
Rich Internet Applications con JavaFX e NetBeans
Fabrizio Giudici
 

Semelhante a Jquery presentation (20)

Jquery tutorial
Jquery tutorialJquery tutorial
Jquery tutorial
 
Building Potent WordPress Websites
Building Potent WordPress WebsitesBuilding Potent WordPress Websites
Building Potent WordPress Websites
 
Building Testable PHP Applications
Building Testable PHP ApplicationsBuilding Testable PHP Applications
Building Testable PHP Applications
 
前端概述
前端概述前端概述
前端概述
 
jQuery
jQueryjQuery
jQuery
 
Yii Introduction
Yii IntroductionYii Introduction
Yii Introduction
 
Jquery
JqueryJquery
Jquery
 
Web internship Yii Framework
Web internship  Yii FrameworkWeb internship  Yii Framework
Web internship Yii Framework
 
Styling components with JavaScript
Styling components with JavaScriptStyling components with JavaScript
Styling components with JavaScript
 
AEM Sightly Template Language
AEM Sightly Template LanguageAEM Sightly Template Language
AEM Sightly Template Language
 
Rich Internet Applications con JavaFX e NetBeans
Rich Internet Applications  con JavaFX e NetBeans Rich Internet Applications  con JavaFX e NetBeans
Rich Internet Applications con JavaFX e NetBeans
 
Let's write secure Drupal code! - DrupalCamp London 2019
Let's write secure Drupal code! - DrupalCamp London 2019Let's write secure Drupal code! - DrupalCamp London 2019
Let's write secure Drupal code! - DrupalCamp London 2019
 
Wt unit 2 ppts client sied technology
Wt unit 2 ppts client sied technologyWt unit 2 ppts client sied technology
Wt unit 2 ppts client sied technology
 
Wt unit 2 ppts client side technology
Wt unit 2 ppts client side technologyWt unit 2 ppts client side technology
Wt unit 2 ppts client side technology
 
Advanced Php - Macq Electronique 2010
Advanced Php - Macq Electronique 2010Advanced Php - Macq Electronique 2010
Advanced Php - Macq Electronique 2010
 
Symfony2 from the Trenches
Symfony2 from the TrenchesSymfony2 from the Trenches
Symfony2 from the Trenches
 
Symfony2 - from the trenches
Symfony2 - from the trenchesSymfony2 - from the trenches
Symfony2 - from the trenches
 
Django at the Disco
Django at the DiscoDjango at the Disco
Django at the Disco
 
Django at the Disco
Django at the DiscoDjango at the Disco
Django at the Disco
 
Django at the Disco
Django at the DiscoDjango at the Disco
Django at the Disco
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 

Jquery presentation

  • 2. What is jQuery Javascript Library Fast and concise Simplifies the interaction between HTML and JavaScript phpXperts - 09
  • 3. Why jQuery? Lightweight : 19KB in size (Minified and Gzipped) CSS1 - 3 Complaint Cross Browser  (IE 6.0+, FF 2+, Safari 3.0+, Opera 9.0+, Chrome) phpXperts - 09
  • 4. Why jQuery? Lightweight : 19KB in size (Minified and Gzipped) CSS1 - 3 Complaint Cross Browser  (IE 6.0+, FF 2+, Safari 3.0+, Opera 9.0+, Chrome) Great Community Plugins Tutorials TestCoverage Open (free) license Books phpXperts - 09
  • 5. A ajax and DOM manipulation example if (!document.ELEMENT_NODE) { document.ELEMENT_NODE = 1; document.ATTRIBUTE_NODE = 2; document.TEXT_NODE = 3; document.CDATA_SECTION_NODE = 4; document.ENTITY_REFERENCE_NODE = 5; document.ENTITY_NODE = 6; document.PROCESSING_INSTRUCTION_NODE = 7; document.COMMENT_NODE = 8; document.DOCUMENT_NODE = 9; document.DOCUMENT_TYPE_NODE = 10; document.DOCUMENT_FRAGMENT_NODE = 11; document.NOTATION_NODE = 12; } document._importNode = function(node, allChildren) { switch (node.nodeType) { case document.ELEMENT_NODE: var newNode = document.createElement(node » .nodeName); /* does the node have any attributes to add? */ if (node.attributes && node.attributes » .length > 0) for (var i = 0; il = node.attributes.length; » i < il) newNode.setAttribute(node.attributes » .nodeName, node.getAttribute(node.attributes[i++] » .nodeName)); /* are we going after children too, and does » the node have any? */ if (allChildren && node.childNodes && » node.childNodes.length > 0) for (var i = 0; il = node.childNodes.length; » i < il) newNode.appendChild(document._importNode » (node.childNodes[i++], allChildren)); return newNode; break; case document.TEXT_NODE: case document.CDATA_SECTION_NODE: case document.COMMENT_NODE: return document.createTextNode(node.nodeValue); break; } }; http://www.alistapart.com/articles/crossbrowserscripting phpXperts - 09
  • 6. It’s just a single line in jQuery $(“#content”).load(“page.html #content”); phpXperts - 09
  • 7. Who’s using jQuery? http://docs.jquery.com/Sites_Using_jQuery phpXperts - 09
  • 8. Dominating the world Google trends comparison of last JS framework 12 months http://www.google.com/trends?q=jQuery%2C+prototype%2C+yui%2C+dojo%2C+mootools&ctab=0&g eo=all&date=ytd&sort=0 phpXperts - 09
  • 9. Let’s Start Download jQuery http://docs.jquery.com/Downloading_jQuery phpXperts - 09
  • 10. Embed in you page <html> <head> <script src=“path/to/jquery-x.x.js"></script> </head> <body> … </body> </html> phpXperts - 09
  • 11. Embed in you page <html> <head> <script src="path/to/jquery-x.x.js"></script> <script> $(document).ready(function(){ // Start here }); </script> </head> <body> … </body> </html> phpXperts - 09
  • 12. jQuery philosophy Find Some Elements { $(“div”).addClass(“xyz”); } Do something with them jQuery Object phpXperts - 09
  • 13. A Basic Example <body> <div> <p>I m a paragraph 1</p> <p>I m a paragraph 2</p> </div> <p>I m another paragraph</p> </body> phpXperts - 09
  • 14. A Basic Example Select all paragraphs. $(“p”) <body> <div> <p>I m a paragraph 1</p> <p>I m a paragraph 2</p> </div> <p>I m another paragraph</p> </body> phpXperts - 09
  • 15. A Basic Example Select all paragraphs. Add a class to them. $(“p”).addClass(“red”); <body> <div> <p class=“red”>I m a paragraph -1</p> <p class=“red”>I m a paragraph -2</p> </div> <p class=“red”>I m another paragraph</p> </body> phpXperts - 09
  • 16. Selector Basics Just pass a selector to $() What is selector? Use any CSS selector phpXperts - 09
  • 17. Selector Basics Think about your simplest css file. #header{ margin : 0 auto; } div{ margin : 0px; padding : 0px } ul.menu li{ ….. } phpXperts - 09
  • 18. Selector Basics The red colored items are selectors #header{ margin : 0 auto; } div{ margin : 0px; padding : 0px } ul.menu li{ ….. } phpXperts - 09
  • 19. Selector Basics Selecting using selectors Selecting By Id  $(“#header”) phpXperts - 09
  • 20. Selector Basics Selecting using selectors Selecting By Id  $(“#header”) Selecting By Class  $(“.updated”) phpXperts - 09
  • 21. Selector Basics Selecting using selectors Selecting By Id  $(“#header”) Selecting By Class  $(“.updated”) Selecting by tag name  $(“table”) phpXperts - 09
  • 22. Selector Basics Selecting using selectors Selecting By Id  $(“#header”) Selecting By Class  $(“.updated”) Selecting by tag name  $(“table”) Combine them  $(“table.user-list”)  $(“#footer ul.menu li”) phpXperts - 09
  • 23. Basic Selector Example This is my page <body> <div id=“header”> <span id=“logo”>Logo here…</span> <ul class=“menu”> <li>user name</li> ….. <li>logout</li> </ul> </div> …… </body> phpXperts - 09
  • 24. Basic Selector Example $(“#header”) <body> <div id=“header”> <span id=“logo”>Logo here…</span> <ul class=“menu”> <li>user name</li> ….. <li>logout</li> </ul> </div> …… </body> phpXperts - 09
  • 25. Basic Selector Example $(“ul.menu”) <body> <div id=“header”> <span id=“logo”>Logo here…</span> <ul class=“menu”> <li>user name</li> ….. <li>logout</li> </ul> </div> …… </body> phpXperts - 09
  • 26. Basic Selector Example $(“ul.menu li”) <body> <div id=“header”> <span id=“logo”>Logo here…</span> <ul class=“menu”> <li>user name</li> ….. <li>logout</li> </ul> </div> …… </body> phpXperts - 09
  • 27. Using filters for selecting Basic Filters  :first, :last, :even, :odd, …... phpXperts - 09
  • 28. Basic Filters Example Student list table. Lets make it zebra. Name Class Roll No. Comment Raju XII 2 Good Masud IX 1 Good Apu XII 3 Mizan XII 5 Karim VI 2 Satisfactory phpXperts - 09
  • 29. Basic Filters Example $(“#students tr:even”).css(“background-color”, “#dde”) Name Class Roll No. Comment Raju XII 2 Good Masud IX 1 Good Apu XII 3 Mizan XII 5 Karim VI 2 Satisfactory phpXperts - 09
  • 30. Using filters for selecting Basic Filters  :first, :last, :even, :odd, …... Content Filters:  :empty , :contains(text), :has(selector), ….. phpXperts - 09
  • 31. Content Filters Example $(“#students tr:even”).css(“background-color”, “#dde”); $(“#students td.comment:empty”).text(“No Comment”); Name Class Roll No. Comment Raju XII 2 Good Masud IX 1 Good Apu XII 3 No Comment Mizan XII 5 No Comment Karim VI 2 Satisfactory phpXperts - 09
  • 32. Using filters for selecting Basic Filters  :first, :last, :even, :odd, …... Content Filters:  :empty , :contains(text), :has(selector), ….. Attribute Filters:  [attribute], [attribute=value], [attribute!=value], ….. phpXperts - 09
  • 33. Attribute Filters Example $(“#students tr:even”).css(“background-color”, “#dde”); $(“#students td.comment:empty”).text(“No Comment”); $(“#students td[align=„center']").addClass(“ocean”); Name Class Roll No. Comment Raju XII 2 Good Masud IX 1 Good Apu XII 3 No Comment Mizan XII 5 No Comment Karim VI 2 Satisfactory phpXperts - 09
  • 34. Using filters for selecting Basic Filters  :first, :last, :even, :odd, …... Content Filters:  :empty , :contains(text), :has(selector), ….. Attribute Filters:  [attribute], [attribute=value], [attribute!=value], ….. Forms  :input, :text, :submit, :password, …..  :enabled, :disabled, :checked, ….. phpXperts - 09
  • 35. Forms Selector Example $(":submit").click(function(e){ … }); $("input:disabled").val(“You cannot change me"); $(“#form-id input:checked”).addClass(“selected”); phpXperts - 09
  • 36. Now we can Select Let’s perform some action phpXperts - 09
  • 37. jQuery Methods DOM Manipulation  before(), after(), append(), appendTo(), ….. phpXperts - 09
  • 38. Dom Manipulation Example Move all paragraphs in div with id “contents” $(“p”) <body> <h1>jQuery</h1> <p>jQuery is good</p> <p>jQuery is better</p> <div id=“contents”></div> <p>jQuery is the best</p> </body> phpXperts - 09
  • 39. Dom Manipulation Example Move all paragraphs in div with id “contents” $(“p”).appendTo(“#contents”); <body> <h1>jQuery</h1> <div id=“contents”> <p>jQuery is good</p> <p>jQuery is better</p> <p>jQuery is the best</p> </div> </body> phpXperts - 09
  • 40. Dom Manipulation Example Move all paragraphs in div with id “contents” $(“p”).appendTo(“#contents”); $(“h1”).append(“ Dom Manipulation”); <body> <h1>jQuery Dom Manipulation</h1> <div id=“contents”> <p>jQuery is good</p> <p>jQuery is better</p> <p>jQuery is the best</p> </div> </body> phpXperts - 09
  • 41. jQuery Methods DOM Manipulation  before(), after(), append(), appendTo(), ….. Attributes  css(), addClass(), attr(), html(), val(), ….. phpXperts - 09
  • 42. Attributes Example Make the texts of last paragraph bold $(“#contents p:last”).css(“color”, “green”); <body> <h1>jQuery Dom Manipulation</h1> <div id=“contents”> <p >jQuery is good</p> <p>jQuery is better</p> <p style=“color:green”>jQuery is the best</p> </div> </body> phpXperts - 09
  • 43. More Attributes Example Setting $(“img.logo”).attr(“align”, “left”); $(“p.copyright”).html(“&copy; 2009 ajaxray”); $(“input#name”).val(“Spiderman”); phpXperts - 09
  • 44. More Attributes Example Setting $(“img.logo”).attr(“align”, “left”); $(“p.copyright”).html(“&copy; 2009 ajaxray”); $(“input#name”).val(“Spiderman”); Getting var allignment = $(“img.logo”).attr(“align”); var copyright = $(“p.copyright”).html(); var username = $(“input#name”).val(); phpXperts - 09
  • 45. jQuery Methods DOM Manipulation  before(), after(), append(), appendTo(), ….. Attributes  css(), addClass(), attr(), html(), val(), ….. Events  click(), bind(), unbind(), live(), ….. phpXperts - 09
  • 46. Event Example Start when DOM is ready $(document).ready(function(){ $(selector).eventName(function(){…}); }); phpXperts - 09
  • 47. Event Example Bind all interactions on events. $(document).ready(function(){ $(“#message”).click(function(){ $(this).hide(); }) }); <span id=“message” onclick=“…”> blah blah </span> phpXperts - 09
  • 48. Event Example You can fire events manually. $(document).ready(function(){ $(“span#message”).click(function(){ $(this).hide(); }) $(“#form-id:reset”).click(); }); phpXperts - 09
  • 49. jQuery Methods DOM Manipulation  before(), after(), append(), appendTo(), ….. Attributes  css(), addClass(), attr(), html(), val(), ….. Events  click(), bind(), unbind(), live(), ….. Effects  hide(), fadeOut(), toggle(), animate(), ….. phpXperts - 09
  • 50. Effects Example When “show-cart” link clicked, slide up/down “cart” div. $(“a#show-cart”).click(function(){ $(“#cart”).slideToggle(“slow”); }) phpXperts - 09
  • 51. Effects Example Build your custom animation $(“a#show-cart”).click(function(){ $(“#cart”).slideToggle(“slow”); }) $("#showdown").click(function(){ $("#my-div").animate({ width: "70%", opacity: 0.4, fontSize: "3em“ }, 1200 ); }); phpXperts - 09
  • 52. jQuery Methods DOM Manipulation  before(), after(), append(), appendTo(), ….. Attributes  css(), addClass(), attr(), html(), val(), ….. Events  click(), bind(), unbind(), live(), ….. Effects  hide(), fadeOut(), toggle(), animate(), ….. Ajax  load(), get(), ajax(), getJSON(), ….. phpXperts - 09
  • 53. Ajax Examples Load a page in a container $(“#comments”).load(“/get_comments.php”); $(“#comments”).load(“/get_comments.php”, {max : 5}); phpXperts - 09
  • 54. Ajax Examples Send ajax request with data $.get(“/edit_comment.php", {id: 102, comment: “I m edited"} ); phpXperts - 09
  • 55. Ajax Examples You can send serialized form as data $.get(“/edit_comment.php", $(“#edit-comment”).serialize() ); id=102&comment=I+m+edited phpXperts - 09
  • 56. Ajax Examples Set a callback function for handling response data $.get(“edit_comment.php", $(“form#cmm-edit”).serialize(), function(data){ if(data == “success”) alert(“Comment Edited!”); } ); phpXperts - 09
  • 57. Chaining Methods Most jQuery methods return jQuery object You can chain them together phpXperts - 09
  • 58. Chaining Methods Most jQuery methods return jQuery object You can chain them together $(“#deleted”).addClass(“red”).fadeOut(“slow”); $(“:button”).val(“Click Me”).click(function(){…}) phpXperts - 09
  • 59. Chaining Methods Most jQuery methods return jQuery object You can chain them together $(“#deleted”).addClass(“red”).fadeOut(“slow”); $(“:button”).val(“Click Me”).click(function(){…}) This will not work - $(“:button”).val().click(function(){…}) This method will return string phpXperts - 09
  • 60. jQuery Plugins jQuery is extensible. phpXperts - 09
  • 61. jQuery Plugins jQuery lightBox http://leandrovieira.com/projects/jquery/lightbox/ phpXperts - 09
  • 62. jQuery Plugins Slider Plugins http://www.hieu.co.uk/blog/index.php/imageswitch/ http://medienfreunde.com/lab/innerfade/ phpXperts - 09
  • 63. And thousands of more… http://plugins.jquery.com/ phpXperts - 09
  • 64. jQuery UI Build highly interactive web applications phpXperts - 09
  • 65. jQuery UI – Interactions (Draggale, Droppable, Resizable, Selectable, Sortable) phpXperts - 09
  • 66. jQuery UI – Sortable Example $("#items").sortable(); phpXperts - 09
  • 67. jQuery UI – Widgets (Accordion, Datepicker, Dialog, Progressbar, Slider, Tabs) phpXperts - 09
  • 68. jQuery UI – Datepicker Example $("#date").datepicker(); phpXperts - 09
  • 69. Which one will match your site? phpXperts - 09
  • 70. Designing a jQuery UI theme - Themeroller http://ui.jquery.com/themeroller phpXperts - 09
  • 71. Anis uddin Ahmad Sr. Software Engineer Right Brain Solution Ltd. http://ajaxray.com phpXperts - 09
  • 72. Questions? phpXperts - 09
  • 73. THANK YOU phpXperts - 09