SlideShare ist ein Scribd-Unternehmen logo
1 von 63
Downloaden Sie, um offline zu lesen
JQUERY FÜR ANFÄNGER



                          JavaScript-Techniken für modernes Webdesign

                            03.04.2010 | Patrick Lobacher (GF typofaktum unternehmenskommunikation)



    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010
Dienstag, 6. April 2010                                                                                     1
WAS IST JQUERY?
                                                     De nition


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010   2
Dienstag, 6. April 2010                                                                                         2
POSITION VON JQUERY


    • Modernes             Webdesign setzt auf drei Komponenten:

          • Auszeichnung
              Markup, (X)HTML




                                                                                               jQuery
          • Aussehen
              Style, CSS

          • Interaktion   und Funktion
              JavaScript (Pure, jQuery, MooTools, Prototype...)



    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   3
Dienstag, 6. April 2010                                                                                     3
DEFINITION VON JQUERY


                  Erfunden 2006 von John Resig

                  jQuery ist ein freies, umfangreiches
                  JavaScript-Framework, das komfortable
                  Funktionen zur DOM-Manipulation und
                  -Navigation zur Verfügung stellt.
                  (Wikipedia)




    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010   4
Dienstag, 6. April 2010                                                                                         4
AUFGABEN VON JQUERY
    • Zugriff   auf Teile der Webpage (Selektieren)
         (insbesondere auf deren Elemente)
    • Modi      zierung des Aussehens
         (insbesondere durch crossbrowser-taugliches CSS3)
    • Verändern               des Inhalts
    • Interaktion             mit dem Benutzer
    • Animation

    • AJAX                (Nachladen von Informationen)
    • Allgemeine               JavaScript-Aufgaben vereinfachen (Arrays, ...)

    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   5
Dienstag, 6. April 2010                                                                                     5
ÜBERSICHT ÜBER DIE API (1.2)




    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   6
Dienstag, 6. April 2010                                                                                     6
WAS IST DOM?
                                      Document Object Model


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010   7
Dienstag, 6. April 2010                                                                                         7
DOM
    • Das    Document Object Model (DOM) ist eine Spezi kation einer
         Schnittstelle für den Zugriff auf HTML- oder XML-Dokumente
    • Die   Spezi kation wird vom W3C (World Wide Web
         Consortium) de niert
    • Mit    dem DOM wird ein Dokument, dessen Elemente und die
         Beziehung dieser untereinander festgelegt (Kind, Eltern,
         Vorgänger, Nachfolger, Geschwister, ...)
    • Durch     DOM wird ein Dokument in einer Baumstruktur verwaltet,
         bei der alle Inhalte Knoten (Dokumentknoten, Elementknoten,
         Attributknoten, Textknoten) sind.

    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   8
Dienstag, 6. April 2010                                                                                     8
DOM
     <html>                                                             #document

     <head>
        <title>jQuery 01</title>                                           HTML
     </head>

     <body>                                             HEAD                                  BODY

     <div id="container">
                                                        TITLE                            DIV#container
        <div id="header">
            <p>jQuery</p>
        </div>                                     „jQuery 01“               DIV#header                 DIV#footer
        <div id="footer">
            <p>ist cool!</p>
        </div>                                                                      P                           P
     </div>

     </body>                                                                  „jQuery!“                     „ist cool!“


     </html>


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010                 9
Dienstag, 6. April 2010                                                                                                   9
DOM
     <html>

     <head>
        <title>jQuery 01</title>
     </head>

     <body>

     <div id="container">
        <div id="header">
            <p>jQuery</p>
        </div>
        <div id="footer">
            <p>ist cool!</p>
        </div>
     </div>
                                                  Mozilla Dom Inspector - Firefox AddOn
     </body>

     </html>                                      https://developer.mozilla.org/En/DOM_Inspector

    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   10
Dienstag, 6. April 2010                                                                                     10
JQUERY INSTALLIEREN
                                       Einbinden der Bibliothek


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010   11
Dienstag, 6. April 2010                                                                                      11
JQUERY VERSIONEN
    • Aktuelle            Version ist 1.4.2 vom 13.02.2010

    • Verkleinerte           (mini ed) Version
         hat 23 kB




    • Entwickler-Version
         hat 157 kB




    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   12
Dienstag, 6. April 2010                                                                                     12
JQUERY INSTALLIEREN
    • Download            von http://jquery.com/ und als Pfad einbinden

    • Pfad   von Google verwenden:
         http://ajax.googleapis.com/ajax/libs/jquery/
         1.4.1/jquery.js

    • Mittels Google-API
         <script type="text/javascript" src="http://
         www.google.com/jsapi"></script>
         <script type="text/javascript">
            google.load("jquery", "1.4.1");
         </script>

    • Als         TYPO3-Extension - Ext-Key: jquery, t3jquery, nano_jquery

    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   13
Dienstag, 6. April 2010                                                                                     13
LETZTE VORBEREITUNGEN
    •    In den Header (oder woanders hin) notieren:
         <script type="text/javascript" src="jquery-1.4.2.js"></script>

    •    In TYPO3 kann dies über eine Extension erledigt werden oder über folgenden
         TypoScript-Setup-Code:
         page.includeJS.jquery = [Pfad]/jquery-1.4.2.js

    •    Dann noch eine eigene JS-Datei (TYPO3):
         page.includeJS.jqueryCustom = [Pfad]/jqcust.js

    •    Oder, wenn es nur kurzer Code ist (TYPO3):
         page.headerData.666 = TEXT
         page.headerData.666.value (
            <script type="text/javascript">
               // jquery Anweisungen kommen hier hinein
            </script>
         )

    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   14
Dienstag, 6. April 2010                                                                                     14
TYPO3 4.3 / JS-INCLUDES
       •   Die Möglichkeiten der Includes von JS und CSS wurden stark erweitert




    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   15
Dienstag, 6. April 2010                                                                                     15
JQUERY KOMPLIKATIONEN
                              Kleine Probleme - schnell gelöst :-)


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010   16
Dienstag, 6. April 2010                                                                                      16
JQUERY DOM START

    • DOM      ist erst verfügbar, wenn das Dokument selbst (nicht die
         Ressourcen!!) geladen ist

    • Der   Event window.onLoad wird hingegen erst ausgeführt, wenn das
         Dokument inkl. Ressourcen geladen ist, daher:

    • Besser              mittels ready() prüfen, ob DOM geladen ist:

         $(document).ready(function() {

                   // jquery Anweisungen kommen hier hinein

         });

    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   17
Dienstag, 6. April 2010                                                                                     17
JQUERY - KOMPLIKATIONEN
    •    Wenn Prototype, MooTools oder eine andere JavaScript Bibliothek
         geladen ist, kommt es oft zu Problemen
    •    Dies liegt an der Verwendung des $-Zeichens, welches eine Abkürzung
         darstellt - bei jQuery steht dies für die gleichnamige Funktion jQuery

    •    Daher muss die Akbkürzung von $ auf jQuery überschrieben werden:

         jQuery.noConflict();
         jQuery(document).ready(function($) {

                   // jquery Anweisungen kommen hier hinein
                   $(SELEKTOR).FUNKTION(...)...

         });

    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   18
Dienstag, 6. April 2010                                                                                     18
ELEMENTE SELEKTIEREN
                 Mit welchen Elementen soll etwas gemacht werden?


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010   19
Dienstag, 6. April 2010                                                                                      19
ELEMENTE SELEKTIEREN 1

    • HTML-Element                        $('div')

    • Element             mit ID          $('div#header')

    • ID                                  $('#header')

    • Klasse                              $('.bodytext')

    • Mehrere             Elemente        $('div,p')

    • Vorfahre/Nachfahre                  $('#container                      div')

    • Eltern/Kind                         $('#container > div')


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   20
Dienstag, 6. April 2010                                                                                     20
ELEMENTE SELEKTIEREN 2
                                                                          <div>
    • HTML-Element                        $('p')                            <h1>Titel</h1>
                                                                            <p id=' rst'>
                                                                              <span>TEST1</span>
                                                                            </p>
                                                                            <p class='second'>TEST2</p>
                                                                          </div>
                                                                          <div>
    • Element             mit ID          $('p#first')                      <h1>Titel</h1>
                                                                            <p id=' rst'>
         ID                               $('#first')                         <span>TEST</span>
                                                                            </p>
                                                                            <p class='second'>TEST2</p>
                                                                          </div>
                                                                          <div>
    • Element             mit Klasse      $('p.second')                     <h1>Titel</h1>
         Klasse                           $('.second')                      <p id=' rst'>
                                                                              <span>TEST</span>
                                                                            </p>
                                                                            <p class='second'>TEST2</p>
                                                                          </div>

    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   21
Dienstag, 6. April 2010                                                                                     21
ELEMENTE SELEKTIEREN 3
                                                                          <div>
    • Vorfahre/Nachfahre $('div p')                                         <h1>Titel</h1>
      Alle p die irgendwo nach einem div kommen                             <p id=' rst'>
                                                                              <span>TEST1</span>
                                                                            </p>
                                                                            <p class='second'>TEST2</p>
                                                                          </div>
                                                                          <div>
    • Eltern/Kind                  $('div > h1')                            <h1>Titel</h1>
                                                                            <p id=' rst'>
      Alle h1 die direkt nach einem div kommen                                <span>TEST</span>
      $(' div > span ') hätte keine Auswahl zur Folge                       </p>
                                                                            <p class='second'>TEST2</p>
                                                                          </div>
                                                                          <div>
    • Nachbar                      $('h1                + p')               <h1>Titel</h1>
      Der direkte nachfolgende Nachbar                                      <p id=' rst'>
                                                                              <span>TEST</span>
      (sofern er ein p ist) von h1                                          </p>
                                                                            <p class='second'>TEST2</p>
                                                                          </div>

    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   22
Dienstag, 6. April 2010                                                                                     22
ELEMENTE SELEKTIEREN 4
                                                                          <div>
    • Mehrere Elemente            $('div,                    p')            <h1>Titel</h1>
      Alle p Elemente und alle div Elemente                                 <p id=' rst'>
                                                                              <span>TEST1</span>
                                                                            </p>
                                                                            <p class='second'>TEST2</p>
                                                                          </div>
                                                                          <div>
    • Alle Elemente              $('*','div')                               <h1>Titel</h1>
                                                                            <p id=' rst'>
      Alle Elemente innerhalb von div                                         <span>TEST</span>
                                                                            </p>
                                                                            <p class='second'>TEST2</p>
                                                                          </div>
                                                                          <div>
    • Geschwister               $('h1 ~ p')                                 <h1>Titel</h1>
      Alle p, die nach h1 kommen und mit diesem                             <p id=' rst'>
                                                                              <span>TEST</span>
      auf der selben Ebene sind
                                                                            </p>
                                                                            <p class='second'>TEST2</p>
                                                                          </div>

    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   23
Dienstag, 6. April 2010                                                                                     23
ELEMENTE SELEKTIEREN 5
    • Attribut                            $('[href]')

    • Attribut             + Wert         $('[target=_blank]')

    • Element               + Attribut    $('a[rel]')

    • Nicht               Attribut+Wert   $('[rel!=nofollow]')

    • Attribut             beginnt mit    $('[href^=http]')

    • Attribut             endet mit      $('[href$=typofaktum.de]')

    • Attribut             enthält        $('[href*=typofaktum]')

    • Attribute             mit UND       $('[href^=http][target=_blank]')

    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   24
Dienstag, 6. April 2010                                                                                     24
SUCHFILTER

    • Erstes Element             $('p:first')
      Das erste p aus der Ergebnisliste

    • Letztes Element            $('p:last')
      Das letzte p aus der Ergebnisliste

    • Negierung                   $('p:not([class=bodytext])')
      Alle p Elemente deren class-Attribut NICHT den Wert bodytext hat
                                                                         <p>1</p>
    • Gerade (Index)              $('p:even')                            <p>2</p>
      Das 1., 3., 5., ... p Element im Dokument (Index ist 0, 2, 4, ...) <p>3</p>
                                                                         <p>4</p>
                                                                         <p>5</p>
    • Ungerade (Index)            $('p:odd')                             <p></p>
         Das 2., 4., 6., ... p Element im Dokument (Index ist 1, 3, 5, ...)


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   25
Dienstag, 6. April 2010                                                                                     25
SUCHFILTER
                                                                                           <p>1</p>
                                                                                           <p>2</p>
    • Bestimmtes Element                $('p:eq(2)')                                       <p>3</p>
      Das 3. p Element aus der Ergebnismenge                                               <p>4</p>
                                                                                           <p>5</p>
      (Index ist 2 - da erstes Element den Index = 0 hat)                                  <p></p>

                                                                                           <p>1</p>
    • alle Elemente größer n          $('p:gt(2)')                                         <p>2</p>
                                                                                           <p>3</p>
      Alle Elemente ab dem dritten (ausschließlich), also 4,5,6,7, ...                     <p>4</p>
                                                                                           <p>5</p>
                                                                                           <p></p>

                                                                                           <p>1</p>
                                                                                           <p>2</p>
    • alle Elemente kleiner n         $('p:lt(2)')                                         <p>3</p>
      Alle Elemente vor dem dritten (ausschließlich), also 1 und 2                         <p>4</p>
                                                                                           <p>5</p>
                                                                                           <p></p>


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   26
Dienstag, 6. April 2010                                                                                     26
INHALTSFILTER
                                                                              <div>
    • Inhalt         $('p:contains(TEST)')                                      <h1>Titel</h1>
                                                                                <p id=' rst'>
      Gibt alle p Elemente zurück, die (irgendwo)                                 <span>TEST1</span>
      den Text „TEST“ beinhalten                                                </p>
                                                                                <p class='second'>TEST2</p>
                                                                              </div>
                                                                              <div>
    • Enthält        $('p:has(span)')                                           <h1>Titel</h1>
                                                                                <p id=' rst'>
      Gibt alle Elemente zurück, die ein span Element                             <span>TEST1</span>
      enthalten                                                                 </p>
                                                                                <p class='second'>TEST2</p>
                                                                              </div>
                                                                              <div>
    • Eltern         $('p:parent')                                              <h1>Titel</h1>
                                                                                <p id=' rst'>
      Wählt alle p Elemente die ein Kind haben                                    <span>TEST1</span>
      (entweder ein anderes Element oder Text)                                  </p>
                                                                                <p class='second'></p>
                                                                              </div>
    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   27
Dienstag, 6. April 2010                                                                                     27
FUNKTIONEN
                          jQuery Funktionen auf Elemente anwenden


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010   28
Dienstag, 6. April 2010                                                                                      28
BASISFUNKTIONEN 1
     • Finden    von weiteren Elemente
         in der Ergebnismenge mit nd()

         $('div').find('p').css('border','1px solid #c00');
         $('p','div').css('border','1px solid #c00');
     • Einschließen         des ursprünglichen Elements mit andSelf()

         $('div').find('p').andSelf().css('border','1px
         solid #c00');
        <div>
          <h1>Titel</h1>
          <p id=' rst'>
            <span>TEST1</span>
          </p>
          <p class='second'>TEST2</p>
        </div>
    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   29
Dienstag, 6. April 2010                                                                                     29
BASISFUNKTIONEN 2 (NAVI)
     • Nächstes           Element          $('li:eq(2)').next()
     • Vorheriges         Element          $('li:eq(2)').prev()
     • Eltern-Element                      $('li:eq(2)').parent()
     • Kinde-Element                       $('li:eq(2)').parent().children()
     • Alle         weiteren               $('li:eq(2)').nextAll()
     • Alle         vorherigen             $('li:eq(2)').prevAll()
     <ul>                  <ul>              <ul>                <ul>                <ul>               <ul>
       <li>1</li>            <li>1</li>        <li>1</li>          <li>1</li>          <li>1</li>         <li>1</li>
       <li>2</li>            <li>2</li>        <li>2</li>          <li>2</li>          <li>2</li>         <li>2</li>
       <li>3</li>            <li>3</li>        <li>3</li>          <li>3</li>          <li>3</li>         <li>3</li>
       <li>4</li>            <li>4</li>        <li>4</li>          <li>4</li>          <li>4</li>         <li>4</li>
       <li>5</li>            <li>5</li>        <li>5</li>          <li>5</li>          <li>5</li>         <li>5</li>
     </ul>                 </ul>             </ul>               </ul>               </ul>              </ul>


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010          30
Dienstag, 6. April 2010                                                                                            30
CSS

    • Setzen              von CSS-Eigenschaften

         $('p#first').css('border','1px solid red');

        $('p#first').css({
                         "border":"1px solid red",
                         "background-color":"#000",
       <div>
                         "color":"#fff"
         <h1>Titel</h1>  });
         <p id=' rst'>
           <span>TEST1</span>
         </p>
         <p class='second'>TEST2</p>
       </div>


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   31
Dienstag, 6. April 2010                                                                                     31
KLASSEN
    • Zufügen  einer Klasse
         $('p#first').addClass('testclass');
    • Entfernen einer Klasse
         $('p#first').removeClass('testclass');
    • Abfragen    ob Klasse vorhanden ist
         if ($('p#first').hasClass('testclass')) {};
    • Klasse  toggeln
         $('p#first').toggleClass('testclass');
       <div>                                                           <div>
         <h1>Titel</h1>                                                  <h1>Titel</h1>
         <p id=' rst'>                                                   <p id=' rst' class='testclass'>
           <span>TEST1</span>      addClass()                              <span>TEST1</span>
         </p>                                                            </p>
         <p class='second'>TEST2</p>                                     <p class='second'>TEST2</p>
       </div>                                                          </div>

    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   32
Dienstag, 6. April 2010                                                                                     32
HTML
    • Inhalt eines Elements mit HTML überschreiben
         $('p#first').html('<em>Neuer Text</em>');

    • Inhalt eines Elements mit Text überschreiben
         $('p#first').text('<em>Neuer Text</em>');

         Daraus wird: &lt;em&gt;Neuer Text&lt;/em&gt;

       <div>                                                           <div>
         <h1>Titel</h1>                                                  <h1>Titel</h1>
         <p id=' rst'>                                                   <p id=' rst'>
           <span>TEST1</span>                      html()                  <em>Neuer Text</em>
         </p>                                                            </p>
         <p class='second'>TEST2</p>                                     <p class='second'>TEST2</p>
       </div>                                                          </div>


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   33
Dienstag, 6. April 2010                                                                                     33
ATTRIBUTE SETZEN
    • Ein         beliebiges Attribut überschreiben

         $('p').find('a').
               attr('href','http://www.typofaktum.de');

         „Selektiere alle p Elemente, dann nde im Ergebnis alle
         a Elemente. Bei diesen setze das Attribut href auf den Wert
         http://www.typofaktum.de“

       <div>                                               <div>
         <h1>Titel</h1>                                      <h1>Titel</h1>
         <p id=' rst'>                                       <p id=' rst'>
           <span><a href="http://                              <span><a href="http://
       www.test.de">TEST1</a></span>                       www.typofaktum.de">TEST1</a></span>
         </p>                                                </p>
       </div>                                              </div>


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   34
Dienstag, 6. April 2010                                                                                     34
ELEMENTE ZUFÜGEN
    •    Zufügen eines Elements zu einer Selektion
         $('p').append("<b>WICHTIG</b>");
         Der angegebene Code wird als letztes Element innerhalb des
         selektierten Elements zugefügt.
    •    Es ist auch möglich ein zusätzlich selektiertes Objekt zu verwenden
         $('p').append($('h1'));
                                            <div>
                                                                                   <div>
                                              <h1>Titel</h1>
       <div>                                                                         <p id=' rst'>
                                              <p id=' rst'>
         <h1>Titel</h1>                                                                <span>TEST1</span>
                                                <span>TEST1</span>
         <p id=' rst'>                                                                 <h1>Titel</h1>
                                                <b>WICHTIG</b>
           <span>TEST1</span>                                                        </p>
                                              </p>
         </p>                                                                        <p class='second'>
                                              <p class='second'>
         <p class='second'>                                                            TEST2
                                                TEST2
           TEST2                                                                       <h1>Titel</h1>
                                                <b>WICHTIG</b>
         </p>                                                                        </p>
                                              </p>
       </div>                                                                      </div>
                                            </div>

    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   35
Dienstag, 6. April 2010                                                                                     35
WEITERE ELEMENT-
    ZUFÜGUNGEN
    • Zufügen             als letztes Element in Auswahl                    append()
    • Zufügen             als erstes Element in Auswahl                     prepend()
    • Zufügen             direkt nach Auswahl                               after()
    • Zufügen             direkt vor Auswahl                                before()
    • Wrappen     jedes Elements der Auswahl
         mit dem angegebenen Element                                        wrap()
    • Wrappen     der gesamten Auswahl
         mit dem angegebenen Element                                        wrapAll()
    • Wrappen      des Inhaltes von jedem
         Element der Auswahl
         mit dem angegebenen Element                                        wrapInner()
    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   36
Dienstag, 6. April 2010                                                                                     36
ELEMENTE ENTFERNEN
    UND ERSETZEN
    •    Entfernen eines Elements aus einer Selektion
         $('p').find('span').remove();
         $('p').remove('#first');

    •    Ersetzen von Elementen in einer Selektion durch ein neues Element
         $('p').find('span').replaceWith('<div>REPLACED</div>');

        <div>                        <div>                       <div>                        <div>
          <h1>Titel</h1>               <h1>Titel</h1>              <h1>Titel</h1>               <h1>Titel</h1>
          <p id=' rst'>                <p id=' rst'>               <p id=' rst'>                <p id=' rst'>
            <span>                      <span>                       <span>                       <div>
              TEST1                        TEST1                       TEST1                        REPLACED
            </span>                      </span>                     </span>                      </div>
          </p>                         </p>                        </p>                         </p>
          <p>                          <p>                         <p>                          <p>
            TEST2                        TEST2                       TEST2                        TEST2
          </p>                         </p>                        </p>                         </p>
        </div>                       </div>                      </div>                       </div>

    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010        37
Dienstag, 6. April 2010                                                                                          37
ANIMATION 1
    • „Rausfahren“eines Elements
         $('p#first').hide('slow');


    • „Reinfahren“eines Elements
         $('p#first').show('fast');


    • Toggeln  eines Elements
         $('p#first').toggle('normal');                                         <div>
                                                                                  <h1>Titel</h1>
                                                                                  <p id=' rst'>
                                                                                    <span>TEST1</span>
    • Geschwindigkeits-Parameter:                                                 </p>
         slow, normal, fast, Zahl (in Millisekunden)                              <p class='second'>TEST2</p>
                                                                                </div>


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   38
Dienstag, 6. April 2010                                                                                     38
ANIMATION 2

    • Ausblenden  eines Elements
         $('p#first').fadeOut('slow');


    • Einblenden eines Elements
         $('p#first').fadeIn('fast');


    • Einblenden eines Elements
                                                                                <div>
         $('p#first').fadeTo(1500,0.33);                                          <h1>Titel</h1>
                                                                                  <p id=' rst'>
         Verringert die Deckkraft von 100% auf 33%                                  <span>TEST1</span>
                                                                                  </p>
         in 1500 Millisekunden (1,5 Sekunden)
                                                                                  <p class='second'>TEST2</p>
                                                                                </div>


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   39
Dienstag, 6. April 2010                                                                                     39
EVENTHANDLER
    • Mausklick  abfangen
         $('p#first').click(function() {
             $('p#first').html('<em>Neuer Text</em>');
         });               <div>
                                                <h1>Titel</h1>
                                                <p id=' rst'>
                                                  <span>TEST1</span>
                                                </p>
                                                <p class='second'>TEST2</p>
                                              </div>
    • Mouse-Over   abfangen
         $("p").hover(function () {
             $(this).css("background-color","red");
         }, function () {
             $(this).css("background-color","white");
         });
    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   40
Dienstag, 6. April 2010                                                                                     40
CHAINING
                               Verkettung von Funktionsaufrufen


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010   41
Dienstag, 6. April 2010                                                                                      41
CHAINING

    • Mehrere             Funktionsaufrufe hintereinander

         $('p#first').hide();
         $('p#first').addClass("updated");
         $('p#first').html('<em>Neuer Text!</em>');
         $('p#first').show();



    • Funktionsaufrufe
                    verketten (Chaining)
         $('p#first').hide().addClass("updated"). ↵
               html('<em>Neuer Text!</em>').show();


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   42
Dienstag, 6. April 2010                                                                                     42
PLUGINS
                                             jQuery erweitern


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010   43
Dienstag, 6. April 2010                                                                                      43
PLUGINS
    • Mehrere               1000 Plugins stehen für jQuery zur Verfügung
    • Diese               erweitern jQuery um weitere Funktionen
    • Website:               http://plugins.jquery.com/
    • Beispiel:             DropShadow (http://plugins.jquery.com/project/DropShadow)




                                    $("#footer").dropShadow();
    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   44
Dienstag, 6. April 2010                                                                                     44
PLUGINS
    • Beispiel:           Background auf typofaktum.de - realisiert mit „supersized“
    • Proportional           autoskalierend
    • Browserkompatibel

    • $('#supersize').supersized();




    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   45
Dienstag, 6. April 2010                                                                                     45
KONSOLE
                             jQuery Debugging leicht gemacht


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010   46
Dienstag, 6. April 2010                                                                                      46
KONSOLE / DEBUGGING




    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010   47
Dienstag, 6. April 2010                                                                                      47
BEISPIELE
                           Verwendung von jQuery bei einigen
                             ausgewählten TYPO3-Projekten

    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010   48
Dienstag, 6. April 2010                                                                                      48
IXMATION AG
    • tt_news

    • LIST-Ansicht

    • News     soll direkt geladen
         werden und nicht erst auf
         der SINGLE-Ansicht
    • Angezeigt    werden sollen
         zunächst Bild, Datum, Titel,
         Subheader und More-Link
    • Komplette    News soll durch
         Animation gezeigt werden
         wenn man auf den Link
         „more...“ klickt
    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010   49
Dienstag, 6. April 2010                                                                                      49
IXMATION AG

    <div class="news-list-item">
       <div class="news-list-img">...</div>
       <h2 class="news-list-date">15.01.2010</h2>
       <h3>... [TITLE] ixmation takes pleasure...</h3>
       <p>... [SUBHEADER] of th ixmation Suzhou and ...</p>
       <div class="news-list-content">
           ... [CONTENT] ...
       </div>
       <div class="news-list-morelink"><a href="">more...</a></div>
       <div class="news-list-lesslink"><a href="">less...</a></div>
    </div>


    $('.news-list-item .news-list-morelink').click(function() {
        $(this).parent().find('.news-list-content').slideToggle("fast");
        $(this).hide();
        $(this).next().show();
        return false;
    });


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010   50
Dienstag, 6. April 2010                                                                                      50
TYPOFAKTUM

    • Obere               Navigation
    • Text-Menüs

    • Unordered              List <ul>
    • Ausklappbar,    wegen
         Benutzerfreundlichkeit
         und SEO
    • Kein     TMENU_LAYERS
         da Code sehr groß
         und vor allem sehr
         gruslig ist :-)

    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010   51
Dienstag, 6. April 2010                                                                                      51
TYPOFAKTUM
    <div id="mainnav">
      <ul>
         <li><a href="home/"></a></li>
         <li><a href="agentur/">Agentur</a>
         <ul>
             <li><a href="agentur/warum-wir/">Warum wir?</a></li>
             <li><a href="agentur/profil/">Profil</a>
             <ul><li>...</li></ul>
         </ul></li>
       </ul>
    </div>



    jQuery(function(){
        jQuery('#mainnav li').mouseenter(function () {
            jQuery(this).find('ul').eq(0).addClass('open').show().dropShadow();
        });
        jQuery('#mainnav li').mouseleave(function () {
            jQuery(this).find('ul').eq(0).removeClass('open').hide().removeShadow();
        });
    });



    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010   52
Dienstag, 6. April 2010                                                                                      52
QUELLEN
                                     Online Quellen für jQuery


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010   53
Dienstag, 6. April 2010                                                                                      53
QUELLEN

    • jQuery   Cheatsheet zum Ausdrucken (PDF)
         http://labs.impulsestudios.ca/
         downloads/impulse_studios-
         jquery_cheat_sheet-1.0.pdf


    • jQuery   Dokumentation und Referenz
         http://docs.jquery.com/Main_Page

    • jQuery   Plugins
         http://plugins.jquery.com/

    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   54
Dienstag, 6. April 2010                                                                                     54
QUELLEN


    • Blog   zum Thema jQuery Beispiele
         http://www.noupe.com/jquery

    • jQuery   for Designers
         http://jqueryfordesigners.com/

    • The   ultimate jQuery list
         http://jquerylist.com/


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   55
Dienstag, 6. April 2010                                                                                     55
QUELLEN




    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   56
Dienstag, 6. April 2010                                                                                     56
BÜCHER
                                       Empfehlenswerte Bücher


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010   57
Dienstag, 6. April 2010                                                                                      57
BÜCHER
                                       Empfehlenswerte Bücher


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010   58
Dienstag, 6. April 2010                                                                                      58
ÜBER TYPOFAKTUM
                               Medienkompetenz aus München


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010   59
Dienstag, 6. April 2010                                                                                      59
ÜBER TYPOFAKTUM
    • Münchner    Fullservice-Agentur für Unternehmenskommunikation
         http://www.typofaktum.de

    • Inhabergeführt:           Patrick Lobacher / Christoph Laruelle

    • Spezialisiert auf Webapplikations-Entwicklung,
         vorwiegend mit Hilfe von TYPO3

    • Gründung   vor 16 Jahren (net-o-graphic / Agentur Laruelle)
         Zusammenschluss und Umbenennung am 02.01.2009

    • Über            800 realisierte Projekte

    • Kunden:   Vodafone, Finanzscout 24, AGIP, Contraco, Arbeitsagentur
         München, Langenscheidt, Motorola, Seifert, Integralis, u.v.a.m

    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   60
Dienstag, 6. April 2010                                                                                     60
ÜBER TYPOFAKTUM
    •    GF Patrick Lobacher hat zahlreiche Publikationen über alle Aspekte der
         Webentwicklung:




    •    Geschäftsbereiche
         • TYPO3 Konzeption, Entwicklung, Programmierung, Integration
           (inkl. Extbase / Fluid / FLOW3)
         • Webapplikationsentwicklung (PHP, iPhone, ...)
         • Consulting, Projektmanagement & Coaching
         • Schulung (inkl. komplettes TYPO3-Curriculum von Anfänger bis Fortgeschrittene
           und Spezialschulungen sowie Firmen- und Individualschulungen)


    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   61
Dienstag, 6. April 2010                                                                                     61
ÜBER TYPOFAKTUM

      • Adresse:


          typofaktum unternehmenskommunikation

          belfortstr. 8
          81667 münchen

          tel             089 46 13 38 67
          fax             089 46 13 38 68
          email           info@typofaktum.de
          web             http://www.typofaktum.de

    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010   62
Dienstag, 6. April 2010                                                                                     62
NOCH FRAGEN?
                                     gerne auch per Mail:
                               patrick.lobacher@typofaktum.de
                                 http://www.typofaktum.de

    (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010   63
Dienstag, 6. April 2010                                                                                      63

Weitere ähnliche Inhalte

Ähnlich wie jQuery für Anfänger

jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)die.agilen GmbH
 
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhone
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhoneWebapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhone
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhonedie.agilen GmbH
 
Domain-driven design - eine Einführung
Domain-driven design - eine EinführungDomain-driven design - eine Einführung
Domain-driven design - eine Einführungdie.agilen GmbH
 
Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.Peter Hecker
 
jQuery Mobile mit TYPO3
jQuery Mobile mit TYPO3jQuery Mobile mit TYPO3
jQuery Mobile mit TYPO3Alex Kellner
 
Einführung XHTML CSS JS // MM 08-11
Einführung XHTML CSS JS // MM 08-11Einführung XHTML CSS JS // MM 08-11
Einführung XHTML CSS JS // MM 08-11Noël Bossart
 
20120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v0220120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v02Chris Palatinus
 
jQuery Mobile 1.3 - Das Kompendium mit 200 Seiten
jQuery Mobile 1.3 - Das Kompendium mit 200 SeitenjQuery Mobile 1.3 - Das Kompendium mit 200 Seiten
jQuery Mobile 1.3 - Das Kompendium mit 200 Seitendie.agilen GmbH
 
Web Performance Optimierung (WPO)
Web Performance Optimierung (WPO)Web Performance Optimierung (WPO)
Web Performance Optimierung (WPO)Martin Kliehm
 
Extreme Fluid - Status Quo der modernen Templating Engine
Extreme Fluid - Status Quo der modernen Templating EngineExtreme Fluid - Status Quo der modernen Templating Engine
Extreme Fluid - Status Quo der modernen Templating Enginedie.agilen GmbH
 
2010 | mein!KI.KA – Die Kinderkanal-Community | Drupal Dev Days München
2010 | mein!KI.KA – Die Kinderkanal-Community | Drupal Dev Days München2010 | mein!KI.KA – Die Kinderkanal-Community | Drupal Dev Days München
2010 | mein!KI.KA – Die Kinderkanal-Community | Drupal Dev Days MünchenJutta Horstmann
 
Barrierefreie, Java-Script gestützte Webapplikationen im praxisnahen Umfeld
Barrierefreie, Java-Script gestützte Webapplikationen im praxisnahen UmfeldBarrierefreie, Java-Script gestützte Webapplikationen im praxisnahen Umfeld
Barrierefreie, Java-Script gestützte Webapplikationen im praxisnahen Umfeldfelixnagel
 
Rapid Prototyping mit jQuery (German)
Rapid Prototyping mit jQuery (German)Rapid Prototyping mit jQuery (German)
Rapid Prototyping mit jQuery (German)Paul Bakaus
 
Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5kkramhoeft
 
Echte Lösungen, keine Tricks
Echte Lösungen, keine TricksEchte Lösungen, keine Tricks
Echte Lösungen, keine TricksJens Grochtdreis
 
Kollaboration in Java Projekten - Anspruch und Realität
Kollaboration in Java Projekten - Anspruch und RealitätKollaboration in Java Projekten - Anspruch und Realität
Kollaboration in Java Projekten - Anspruch und RealitätTorben Knerr
 
JavaScript: Von einfachen Scripten zu komplexen Anwendungen
JavaScript: Von einfachen Scripten zu komplexen AnwendungenJavaScript: Von einfachen Scripten zu komplexen Anwendungen
JavaScript: Von einfachen Scripten zu komplexen Anwendungenmolily
 

Ähnlich wie jQuery für Anfänger (20)

jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)
 
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhone
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhoneWebapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhone
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhone
 
Domain-driven design - eine Einführung
Domain-driven design - eine EinführungDomain-driven design - eine Einführung
Domain-driven design - eine Einführung
 
Fowa html5 apps
Fowa html5 appsFowa html5 apps
Fowa html5 apps
 
Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.
 
jQuery Mobile mit TYPO3
jQuery Mobile mit TYPO3jQuery Mobile mit TYPO3
jQuery Mobile mit TYPO3
 
HTML5 Update (am Internet-Briefing)
HTML5 Update (am Internet-Briefing)HTML5 Update (am Internet-Briefing)
HTML5 Update (am Internet-Briefing)
 
Einführung XHTML CSS JS // MM 08-11
Einführung XHTML CSS JS // MM 08-11Einführung XHTML CSS JS // MM 08-11
Einführung XHTML CSS JS // MM 08-11
 
20120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v0220120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v02
 
jQuery Mobile 1.3 - Das Kompendium mit 200 Seiten
jQuery Mobile 1.3 - Das Kompendium mit 200 SeitenjQuery Mobile 1.3 - Das Kompendium mit 200 Seiten
jQuery Mobile 1.3 - Das Kompendium mit 200 Seiten
 
Web Performance Optimierung (WPO)
Web Performance Optimierung (WPO)Web Performance Optimierung (WPO)
Web Performance Optimierung (WPO)
 
Extreme Fluid - Status Quo der modernen Templating Engine
Extreme Fluid - Status Quo der modernen Templating EngineExtreme Fluid - Status Quo der modernen Templating Engine
Extreme Fluid - Status Quo der modernen Templating Engine
 
2010 | mein!KI.KA – Die Kinderkanal-Community | Drupal Dev Days München
2010 | mein!KI.KA – Die Kinderkanal-Community | Drupal Dev Days München2010 | mein!KI.KA – Die Kinderkanal-Community | Drupal Dev Days München
2010 | mein!KI.KA – Die Kinderkanal-Community | Drupal Dev Days München
 
Barrierefreie, Java-Script gestützte Webapplikationen im praxisnahen Umfeld
Barrierefreie, Java-Script gestützte Webapplikationen im praxisnahen UmfeldBarrierefreie, Java-Script gestützte Webapplikationen im praxisnahen Umfeld
Barrierefreie, Java-Script gestützte Webapplikationen im praxisnahen Umfeld
 
Rapid Prototyping mit jQuery (German)
Rapid Prototyping mit jQuery (German)Rapid Prototyping mit jQuery (German)
Rapid Prototyping mit jQuery (German)
 
Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5
 
Echte Lösungen, keine Tricks
Echte Lösungen, keine TricksEchte Lösungen, keine Tricks
Echte Lösungen, keine Tricks
 
Kollaboration in Java Projekten - Anspruch und Realität
Kollaboration in Java Projekten - Anspruch und RealitätKollaboration in Java Projekten - Anspruch und Realität
Kollaboration in Java Projekten - Anspruch und Realität
 
HTML5 in TYPO3 4.7
HTML5 in TYPO3 4.7HTML5 in TYPO3 4.7
HTML5 in TYPO3 4.7
 
JavaScript: Von einfachen Scripten zu komplexen Anwendungen
JavaScript: Von einfachen Scripten zu komplexen AnwendungenJavaScript: Von einfachen Scripten zu komplexen Anwendungen
JavaScript: Von einfachen Scripten zu komplexen Anwendungen
 

Mehr von die.agilen GmbH

LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)
LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)
LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)die.agilen GmbH
 
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...die.agilen GmbH
 
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...die.agilen GmbH
 
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017die.agilen GmbH
 
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...die.agilen GmbH
 
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...die.agilen GmbH
 
Roman Rackwitz - Gamification und OKR
Roman Rackwitz - Gamification und OKRRoman Rackwitz - Gamification und OKR
Roman Rackwitz - Gamification und OKRdie.agilen GmbH
 
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...die.agilen GmbH
 
TYPO3 CMS 8.4 - Die Neuerungen - pluswerk
TYPO3 CMS 8.4 - Die Neuerungen - pluswerkTYPO3 CMS 8.4 - Die Neuerungen - pluswerk
TYPO3 CMS 8.4 - Die Neuerungen - pluswerkdie.agilen GmbH
 
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / BerlinAgile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlindie.agilen GmbH
 
The agile enterprise - Digital Transformation as a practical application
The agile enterprise - Digital Transformation as a practical applicationThe agile enterprise - Digital Transformation as a practical application
The agile enterprise - Digital Transformation as a practical applicationdie.agilen GmbH
 
How leadership of employees via Objectives and Key Results (OKR) speeds up th...
How leadership of employees via Objectives and Key Results (OKR) speeds up th...How leadership of employees via Objectives and Key Results (OKR) speeds up th...
How leadership of employees via Objectives and Key Results (OKR) speeds up th...die.agilen GmbH
 
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...die.agilen GmbH
 
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - PluswerkDWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerkdie.agilen GmbH
 
Innovationsmotoren für IoT - DWX 2016 - Pluswerk
Innovationsmotoren für IoT - DWX 2016 - PluswerkInnovationsmotoren für IoT - DWX 2016 - Pluswerk
Innovationsmotoren für IoT - DWX 2016 - Pluswerkdie.agilen GmbH
 
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...die.agilen GmbH
 
30 Jahre Scrum - alles agil, alles gut? Auf dem Weg zum digitalen Unternehme...
30 Jahre Scrum - alles agil, alles gut?  Auf dem Weg zum digitalen Unternehme...30 Jahre Scrum - alles agil, alles gut?  Auf dem Weg zum digitalen Unternehme...
30 Jahre Scrum - alles agil, alles gut? Auf dem Weg zum digitalen Unternehme...die.agilen GmbH
 
Innovationsmotor Design Thinking - pluswerk
Innovationsmotor Design Thinking - pluswerkInnovationsmotor Design Thinking - pluswerk
Innovationsmotor Design Thinking - pluswerkdie.agilen GmbH
 
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...die.agilen GmbH
 
TYPO3 CMS 8.1 - Die Neuerungen - pluswerk
TYPO3 CMS 8.1 - Die Neuerungen - pluswerkTYPO3 CMS 8.1 - Die Neuerungen - pluswerk
TYPO3 CMS 8.1 - Die Neuerungen - pluswerkdie.agilen GmbH
 

Mehr von die.agilen GmbH (20)

LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)
LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)
LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)
 
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
 
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
 
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
 
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...
 
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
 
Roman Rackwitz - Gamification und OKR
Roman Rackwitz - Gamification und OKRRoman Rackwitz - Gamification und OKR
Roman Rackwitz - Gamification und OKR
 
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
 
TYPO3 CMS 8.4 - Die Neuerungen - pluswerk
TYPO3 CMS 8.4 - Die Neuerungen - pluswerkTYPO3 CMS 8.4 - Die Neuerungen - pluswerk
TYPO3 CMS 8.4 - Die Neuerungen - pluswerk
 
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / BerlinAgile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
 
The agile enterprise - Digital Transformation as a practical application
The agile enterprise - Digital Transformation as a practical applicationThe agile enterprise - Digital Transformation as a practical application
The agile enterprise - Digital Transformation as a practical application
 
How leadership of employees via Objectives and Key Results (OKR) speeds up th...
How leadership of employees via Objectives and Key Results (OKR) speeds up th...How leadership of employees via Objectives and Key Results (OKR) speeds up th...
How leadership of employees via Objectives and Key Results (OKR) speeds up th...
 
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
 
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - PluswerkDWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
 
Innovationsmotoren für IoT - DWX 2016 - Pluswerk
Innovationsmotoren für IoT - DWX 2016 - PluswerkInnovationsmotoren für IoT - DWX 2016 - Pluswerk
Innovationsmotoren für IoT - DWX 2016 - Pluswerk
 
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...
 
30 Jahre Scrum - alles agil, alles gut? Auf dem Weg zum digitalen Unternehme...
30 Jahre Scrum - alles agil, alles gut?  Auf dem Weg zum digitalen Unternehme...30 Jahre Scrum - alles agil, alles gut?  Auf dem Weg zum digitalen Unternehme...
30 Jahre Scrum - alles agil, alles gut? Auf dem Weg zum digitalen Unternehme...
 
Innovationsmotor Design Thinking - pluswerk
Innovationsmotor Design Thinking - pluswerkInnovationsmotor Design Thinking - pluswerk
Innovationsmotor Design Thinking - pluswerk
 
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
 
TYPO3 CMS 8.1 - Die Neuerungen - pluswerk
TYPO3 CMS 8.1 - Die Neuerungen - pluswerkTYPO3 CMS 8.1 - Die Neuerungen - pluswerk
TYPO3 CMS 8.1 - Die Neuerungen - pluswerk
 

jQuery für Anfänger

  • 1. JQUERY FÜR ANFÄNGER JavaScript-Techniken für modernes Webdesign 03.04.2010 | Patrick Lobacher (GF typofaktum unternehmenskommunikation) (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 Dienstag, 6. April 2010 1
  • 2. WAS IST JQUERY? De nition (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010 2 Dienstag, 6. April 2010 2
  • 3. POSITION VON JQUERY • Modernes Webdesign setzt auf drei Komponenten: • Auszeichnung Markup, (X)HTML jQuery • Aussehen Style, CSS • Interaktion und Funktion JavaScript (Pure, jQuery, MooTools, Prototype...) (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 3 Dienstag, 6. April 2010 3
  • 4. DEFINITION VON JQUERY Erfunden 2006 von John Resig jQuery ist ein freies, umfangreiches JavaScript-Framework, das komfortable Funktionen zur DOM-Manipulation und -Navigation zur Verfügung stellt. (Wikipedia) (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010 4 Dienstag, 6. April 2010 4
  • 5. AUFGABEN VON JQUERY • Zugriff auf Teile der Webpage (Selektieren) (insbesondere auf deren Elemente) • Modi zierung des Aussehens (insbesondere durch crossbrowser-taugliches CSS3) • Verändern des Inhalts • Interaktion mit dem Benutzer • Animation • AJAX (Nachladen von Informationen) • Allgemeine JavaScript-Aufgaben vereinfachen (Arrays, ...) (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 5 Dienstag, 6. April 2010 5
  • 6. ÜBERSICHT ÜBER DIE API (1.2) (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 6 Dienstag, 6. April 2010 6
  • 7. WAS IST DOM? Document Object Model (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010 7 Dienstag, 6. April 2010 7
  • 8. DOM • Das Document Object Model (DOM) ist eine Spezi kation einer Schnittstelle für den Zugriff auf HTML- oder XML-Dokumente • Die Spezi kation wird vom W3C (World Wide Web Consortium) de niert • Mit dem DOM wird ein Dokument, dessen Elemente und die Beziehung dieser untereinander festgelegt (Kind, Eltern, Vorgänger, Nachfolger, Geschwister, ...) • Durch DOM wird ein Dokument in einer Baumstruktur verwaltet, bei der alle Inhalte Knoten (Dokumentknoten, Elementknoten, Attributknoten, Textknoten) sind. (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 8 Dienstag, 6. April 2010 8
  • 9. DOM <html> #document <head> <title>jQuery 01</title> HTML </head> <body> HEAD BODY <div id="container"> TITLE DIV#container <div id="header"> <p>jQuery</p> </div> „jQuery 01“ DIV#header DIV#footer <div id="footer"> <p>ist cool!</p> </div> P P </div> </body> „jQuery!“ „ist cool!“ </html> (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 9 Dienstag, 6. April 2010 9
  • 10. DOM <html> <head> <title>jQuery 01</title> </head> <body> <div id="container"> <div id="header"> <p>jQuery</p> </div> <div id="footer"> <p>ist cool!</p> </div> </div> Mozilla Dom Inspector - Firefox AddOn </body> </html> https://developer.mozilla.org/En/DOM_Inspector (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 10 Dienstag, 6. April 2010 10
  • 11. JQUERY INSTALLIEREN Einbinden der Bibliothek (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010 11 Dienstag, 6. April 2010 11
  • 12. JQUERY VERSIONEN • Aktuelle Version ist 1.4.2 vom 13.02.2010 • Verkleinerte (mini ed) Version hat 23 kB • Entwickler-Version hat 157 kB (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 12 Dienstag, 6. April 2010 12
  • 13. JQUERY INSTALLIEREN • Download von http://jquery.com/ und als Pfad einbinden • Pfad von Google verwenden: http://ajax.googleapis.com/ajax/libs/jquery/ 1.4.1/jquery.js • Mittels Google-API <script type="text/javascript" src="http:// www.google.com/jsapi"></script> <script type="text/javascript"> google.load("jquery", "1.4.1"); </script> • Als TYPO3-Extension - Ext-Key: jquery, t3jquery, nano_jquery (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 13 Dienstag, 6. April 2010 13
  • 14. LETZTE VORBEREITUNGEN • In den Header (oder woanders hin) notieren: <script type="text/javascript" src="jquery-1.4.2.js"></script> • In TYPO3 kann dies über eine Extension erledigt werden oder über folgenden TypoScript-Setup-Code: page.includeJS.jquery = [Pfad]/jquery-1.4.2.js • Dann noch eine eigene JS-Datei (TYPO3): page.includeJS.jqueryCustom = [Pfad]/jqcust.js • Oder, wenn es nur kurzer Code ist (TYPO3): page.headerData.666 = TEXT page.headerData.666.value ( <script type="text/javascript"> // jquery Anweisungen kommen hier hinein </script> ) (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 14 Dienstag, 6. April 2010 14
  • 15. TYPO3 4.3 / JS-INCLUDES • Die Möglichkeiten der Includes von JS und CSS wurden stark erweitert (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 15 Dienstag, 6. April 2010 15
  • 16. JQUERY KOMPLIKATIONEN Kleine Probleme - schnell gelöst :-) (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010 16 Dienstag, 6. April 2010 16
  • 17. JQUERY DOM START • DOM ist erst verfügbar, wenn das Dokument selbst (nicht die Ressourcen!!) geladen ist • Der Event window.onLoad wird hingegen erst ausgeführt, wenn das Dokument inkl. Ressourcen geladen ist, daher: • Besser mittels ready() prüfen, ob DOM geladen ist: $(document).ready(function() { // jquery Anweisungen kommen hier hinein }); (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 17 Dienstag, 6. April 2010 17
  • 18. JQUERY - KOMPLIKATIONEN • Wenn Prototype, MooTools oder eine andere JavaScript Bibliothek geladen ist, kommt es oft zu Problemen • Dies liegt an der Verwendung des $-Zeichens, welches eine Abkürzung darstellt - bei jQuery steht dies für die gleichnamige Funktion jQuery • Daher muss die Akbkürzung von $ auf jQuery überschrieben werden: jQuery.noConflict(); jQuery(document).ready(function($) { // jquery Anweisungen kommen hier hinein $(SELEKTOR).FUNKTION(...)... }); (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 18 Dienstag, 6. April 2010 18
  • 19. ELEMENTE SELEKTIEREN Mit welchen Elementen soll etwas gemacht werden? (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010 19 Dienstag, 6. April 2010 19
  • 20. ELEMENTE SELEKTIEREN 1 • HTML-Element $('div') • Element mit ID $('div#header') • ID $('#header') • Klasse $('.bodytext') • Mehrere Elemente $('div,p') • Vorfahre/Nachfahre $('#container div') • Eltern/Kind $('#container > div') (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 20 Dienstag, 6. April 2010 20
  • 21. ELEMENTE SELEKTIEREN 2 <div> • HTML-Element $('p') <h1>Titel</h1> <p id=' rst'> <span>TEST1</span> </p> <p class='second'>TEST2</p> </div> <div> • Element mit ID $('p#first') <h1>Titel</h1> <p id=' rst'> ID $('#first') <span>TEST</span> </p> <p class='second'>TEST2</p> </div> <div> • Element mit Klasse $('p.second') <h1>Titel</h1> Klasse $('.second') <p id=' rst'> <span>TEST</span> </p> <p class='second'>TEST2</p> </div> (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 21 Dienstag, 6. April 2010 21
  • 22. ELEMENTE SELEKTIEREN 3 <div> • Vorfahre/Nachfahre $('div p') <h1>Titel</h1> Alle p die irgendwo nach einem div kommen <p id=' rst'> <span>TEST1</span> </p> <p class='second'>TEST2</p> </div> <div> • Eltern/Kind $('div > h1') <h1>Titel</h1> <p id=' rst'> Alle h1 die direkt nach einem div kommen <span>TEST</span> $(' div > span ') hätte keine Auswahl zur Folge </p> <p class='second'>TEST2</p> </div> <div> • Nachbar $('h1 + p') <h1>Titel</h1> Der direkte nachfolgende Nachbar <p id=' rst'> <span>TEST</span> (sofern er ein p ist) von h1 </p> <p class='second'>TEST2</p> </div> (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 22 Dienstag, 6. April 2010 22
  • 23. ELEMENTE SELEKTIEREN 4 <div> • Mehrere Elemente $('div, p') <h1>Titel</h1> Alle p Elemente und alle div Elemente <p id=' rst'> <span>TEST1</span> </p> <p class='second'>TEST2</p> </div> <div> • Alle Elemente $('*','div') <h1>Titel</h1> <p id=' rst'> Alle Elemente innerhalb von div <span>TEST</span> </p> <p class='second'>TEST2</p> </div> <div> • Geschwister $('h1 ~ p') <h1>Titel</h1> Alle p, die nach h1 kommen und mit diesem <p id=' rst'> <span>TEST</span> auf der selben Ebene sind </p> <p class='second'>TEST2</p> </div> (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 23 Dienstag, 6. April 2010 23
  • 24. ELEMENTE SELEKTIEREN 5 • Attribut $('[href]') • Attribut + Wert $('[target=_blank]') • Element + Attribut $('a[rel]') • Nicht Attribut+Wert $('[rel!=nofollow]') • Attribut beginnt mit $('[href^=http]') • Attribut endet mit $('[href$=typofaktum.de]') • Attribut enthält $('[href*=typofaktum]') • Attribute mit UND $('[href^=http][target=_blank]') (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 24 Dienstag, 6. April 2010 24
  • 25. SUCHFILTER • Erstes Element $('p:first') Das erste p aus der Ergebnisliste • Letztes Element $('p:last') Das letzte p aus der Ergebnisliste • Negierung $('p:not([class=bodytext])') Alle p Elemente deren class-Attribut NICHT den Wert bodytext hat <p>1</p> • Gerade (Index) $('p:even') <p>2</p> Das 1., 3., 5., ... p Element im Dokument (Index ist 0, 2, 4, ...) <p>3</p> <p>4</p> <p>5</p> • Ungerade (Index) $('p:odd') <p></p> Das 2., 4., 6., ... p Element im Dokument (Index ist 1, 3, 5, ...) (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 25 Dienstag, 6. April 2010 25
  • 26. SUCHFILTER <p>1</p> <p>2</p> • Bestimmtes Element $('p:eq(2)') <p>3</p> Das 3. p Element aus der Ergebnismenge <p>4</p> <p>5</p> (Index ist 2 - da erstes Element den Index = 0 hat) <p></p> <p>1</p> • alle Elemente größer n $('p:gt(2)') <p>2</p> <p>3</p> Alle Elemente ab dem dritten (ausschließlich), also 4,5,6,7, ... <p>4</p> <p>5</p> <p></p> <p>1</p> <p>2</p> • alle Elemente kleiner n $('p:lt(2)') <p>3</p> Alle Elemente vor dem dritten (ausschließlich), also 1 und 2 <p>4</p> <p>5</p> <p></p> (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 26 Dienstag, 6. April 2010 26
  • 27. INHALTSFILTER <div> • Inhalt $('p:contains(TEST)') <h1>Titel</h1> <p id=' rst'> Gibt alle p Elemente zurück, die (irgendwo) <span>TEST1</span> den Text „TEST“ beinhalten </p> <p class='second'>TEST2</p> </div> <div> • Enthält $('p:has(span)') <h1>Titel</h1> <p id=' rst'> Gibt alle Elemente zurück, die ein span Element <span>TEST1</span> enthalten </p> <p class='second'>TEST2</p> </div> <div> • Eltern $('p:parent') <h1>Titel</h1> <p id=' rst'> Wählt alle p Elemente die ein Kind haben <span>TEST1</span> (entweder ein anderes Element oder Text) </p> <p class='second'></p> </div> (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 27 Dienstag, 6. April 2010 27
  • 28. FUNKTIONEN jQuery Funktionen auf Elemente anwenden (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010 28 Dienstag, 6. April 2010 28
  • 29. BASISFUNKTIONEN 1 • Finden von weiteren Elemente in der Ergebnismenge mit nd() $('div').find('p').css('border','1px solid #c00'); $('p','div').css('border','1px solid #c00'); • Einschließen des ursprünglichen Elements mit andSelf() $('div').find('p').andSelf().css('border','1px solid #c00'); <div> <h1>Titel</h1> <p id=' rst'> <span>TEST1</span> </p> <p class='second'>TEST2</p> </div> (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 29 Dienstag, 6. April 2010 29
  • 30. BASISFUNKTIONEN 2 (NAVI) • Nächstes Element $('li:eq(2)').next() • Vorheriges Element $('li:eq(2)').prev() • Eltern-Element $('li:eq(2)').parent() • Kinde-Element $('li:eq(2)').parent().children() • Alle weiteren $('li:eq(2)').nextAll() • Alle vorherigen $('li:eq(2)').prevAll() <ul> <ul> <ul> <ul> <ul> <ul> <li>1</li> <li>1</li> <li>1</li> <li>1</li> <li>1</li> <li>1</li> <li>2</li> <li>2</li> <li>2</li> <li>2</li> <li>2</li> <li>2</li> <li>3</li> <li>3</li> <li>3</li> <li>3</li> <li>3</li> <li>3</li> <li>4</li> <li>4</li> <li>4</li> <li>4</li> <li>4</li> <li>4</li> <li>5</li> <li>5</li> <li>5</li> <li>5</li> <li>5</li> <li>5</li> </ul> </ul> </ul> </ul> </ul> </ul> (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 30 Dienstag, 6. April 2010 30
  • 31. CSS • Setzen von CSS-Eigenschaften $('p#first').css('border','1px solid red'); $('p#first').css({ "border":"1px solid red", "background-color":"#000", <div> "color":"#fff" <h1>Titel</h1> }); <p id=' rst'> <span>TEST1</span> </p> <p class='second'>TEST2</p> </div> (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 31 Dienstag, 6. April 2010 31
  • 32. KLASSEN • Zufügen einer Klasse $('p#first').addClass('testclass'); • Entfernen einer Klasse $('p#first').removeClass('testclass'); • Abfragen ob Klasse vorhanden ist if ($('p#first').hasClass('testclass')) {}; • Klasse toggeln $('p#first').toggleClass('testclass'); <div> <div> <h1>Titel</h1> <h1>Titel</h1> <p id=' rst'> <p id=' rst' class='testclass'> <span>TEST1</span> addClass() <span>TEST1</span> </p> </p> <p class='second'>TEST2</p> <p class='second'>TEST2</p> </div> </div> (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 32 Dienstag, 6. April 2010 32
  • 33. HTML • Inhalt eines Elements mit HTML überschreiben $('p#first').html('<em>Neuer Text</em>'); • Inhalt eines Elements mit Text überschreiben $('p#first').text('<em>Neuer Text</em>'); Daraus wird: &lt;em&gt;Neuer Text&lt;/em&gt; <div> <div> <h1>Titel</h1> <h1>Titel</h1> <p id=' rst'> <p id=' rst'> <span>TEST1</span> html() <em>Neuer Text</em> </p> </p> <p class='second'>TEST2</p> <p class='second'>TEST2</p> </div> </div> (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 33 Dienstag, 6. April 2010 33
  • 34. ATTRIBUTE SETZEN • Ein beliebiges Attribut überschreiben $('p').find('a'). attr('href','http://www.typofaktum.de'); „Selektiere alle p Elemente, dann nde im Ergebnis alle a Elemente. Bei diesen setze das Attribut href auf den Wert http://www.typofaktum.de“ <div> <div> <h1>Titel</h1> <h1>Titel</h1> <p id=' rst'> <p id=' rst'> <span><a href="http:// <span><a href="http:// www.test.de">TEST1</a></span> www.typofaktum.de">TEST1</a></span> </p> </p> </div> </div> (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 34 Dienstag, 6. April 2010 34
  • 35. ELEMENTE ZUFÜGEN • Zufügen eines Elements zu einer Selektion $('p').append("<b>WICHTIG</b>"); Der angegebene Code wird als letztes Element innerhalb des selektierten Elements zugefügt. • Es ist auch möglich ein zusätzlich selektiertes Objekt zu verwenden $('p').append($('h1')); <div> <div> <h1>Titel</h1> <div> <p id=' rst'> <p id=' rst'> <h1>Titel</h1> <span>TEST1</span> <span>TEST1</span> <p id=' rst'> <h1>Titel</h1> <b>WICHTIG</b> <span>TEST1</span> </p> </p> </p> <p class='second'> <p class='second'> <p class='second'> TEST2 TEST2 TEST2 <h1>Titel</h1> <b>WICHTIG</b> </p> </p> </p> </div> </div> </div> (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 35 Dienstag, 6. April 2010 35
  • 36. WEITERE ELEMENT- ZUFÜGUNGEN • Zufügen als letztes Element in Auswahl append() • Zufügen als erstes Element in Auswahl prepend() • Zufügen direkt nach Auswahl after() • Zufügen direkt vor Auswahl before() • Wrappen jedes Elements der Auswahl mit dem angegebenen Element wrap() • Wrappen der gesamten Auswahl mit dem angegebenen Element wrapAll() • Wrappen des Inhaltes von jedem Element der Auswahl mit dem angegebenen Element wrapInner() (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 36 Dienstag, 6. April 2010 36
  • 37. ELEMENTE ENTFERNEN UND ERSETZEN • Entfernen eines Elements aus einer Selektion $('p').find('span').remove(); $('p').remove('#first'); • Ersetzen von Elementen in einer Selektion durch ein neues Element $('p').find('span').replaceWith('<div>REPLACED</div>'); <div> <div> <div> <div> <h1>Titel</h1> <h1>Titel</h1> <h1>Titel</h1> <h1>Titel</h1> <p id=' rst'> <p id=' rst'> <p id=' rst'> <p id=' rst'> <span> <span> <span> <div> TEST1 TEST1 TEST1 REPLACED </span> </span> </span> </div> </p> </p> </p> </p> <p> <p> <p> <p> TEST2 TEST2 TEST2 TEST2 </p> </p> </p> </p> </div> </div> </div> </div> (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 37 Dienstag, 6. April 2010 37
  • 38. ANIMATION 1 • „Rausfahren“eines Elements $('p#first').hide('slow'); • „Reinfahren“eines Elements $('p#first').show('fast'); • Toggeln eines Elements $('p#first').toggle('normal'); <div> <h1>Titel</h1> <p id=' rst'> <span>TEST1</span> • Geschwindigkeits-Parameter: </p> slow, normal, fast, Zahl (in Millisekunden) <p class='second'>TEST2</p> </div> (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 38 Dienstag, 6. April 2010 38
  • 39. ANIMATION 2 • Ausblenden eines Elements $('p#first').fadeOut('slow'); • Einblenden eines Elements $('p#first').fadeIn('fast'); • Einblenden eines Elements <div> $('p#first').fadeTo(1500,0.33); <h1>Titel</h1> <p id=' rst'> Verringert die Deckkraft von 100% auf 33% <span>TEST1</span> </p> in 1500 Millisekunden (1,5 Sekunden) <p class='second'>TEST2</p> </div> (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 39 Dienstag, 6. April 2010 39
  • 40. EVENTHANDLER • Mausklick abfangen $('p#first').click(function() { $('p#first').html('<em>Neuer Text</em>'); }); <div> <h1>Titel</h1> <p id=' rst'> <span>TEST1</span> </p> <p class='second'>TEST2</p> </div> • Mouse-Over abfangen $("p").hover(function () { $(this).css("background-color","red"); }, function () { $(this).css("background-color","white"); }); (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 40 Dienstag, 6. April 2010 40
  • 41. CHAINING Verkettung von Funktionsaufrufen (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010 41 Dienstag, 6. April 2010 41
  • 42. CHAINING • Mehrere Funktionsaufrufe hintereinander $('p#first').hide(); $('p#first').addClass("updated"); $('p#first').html('<em>Neuer Text!</em>'); $('p#first').show(); • Funktionsaufrufe verketten (Chaining) $('p#first').hide().addClass("updated"). ↵ html('<em>Neuer Text!</em>').show(); (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 42 Dienstag, 6. April 2010 42
  • 43. PLUGINS jQuery erweitern (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010 43 Dienstag, 6. April 2010 43
  • 44. PLUGINS • Mehrere 1000 Plugins stehen für jQuery zur Verfügung • Diese erweitern jQuery um weitere Funktionen • Website: http://plugins.jquery.com/ • Beispiel: DropShadow (http://plugins.jquery.com/project/DropShadow) $("#footer").dropShadow(); (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 44 Dienstag, 6. April 2010 44
  • 45. PLUGINS • Beispiel: Background auf typofaktum.de - realisiert mit „supersized“ • Proportional autoskalierend • Browserkompatibel • $('#supersize').supersized(); (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 45 Dienstag, 6. April 2010 45
  • 46. KONSOLE jQuery Debugging leicht gemacht (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010 46 Dienstag, 6. April 2010 46
  • 47. KONSOLE / DEBUGGING (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010 47 Dienstag, 6. April 2010 47
  • 48. BEISPIELE Verwendung von jQuery bei einigen ausgewählten TYPO3-Projekten (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010 48 Dienstag, 6. April 2010 48
  • 49. IXMATION AG • tt_news • LIST-Ansicht • News soll direkt geladen werden und nicht erst auf der SINGLE-Ansicht • Angezeigt werden sollen zunächst Bild, Datum, Titel, Subheader und More-Link • Komplette News soll durch Animation gezeigt werden wenn man auf den Link „more...“ klickt (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010 49 Dienstag, 6. April 2010 49
  • 50. IXMATION AG <div class="news-list-item"> <div class="news-list-img">...</div> <h2 class="news-list-date">15.01.2010</h2> <h3>... [TITLE] ixmation takes pleasure...</h3> <p>... [SUBHEADER] of th ixmation Suzhou and ...</p> <div class="news-list-content"> ... [CONTENT] ... </div> <div class="news-list-morelink"><a href="">more...</a></div> <div class="news-list-lesslink"><a href="">less...</a></div> </div> $('.news-list-item .news-list-morelink').click(function() { $(this).parent().find('.news-list-content').slideToggle("fast"); $(this).hide(); $(this).next().show(); return false; }); (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010 50 Dienstag, 6. April 2010 50
  • 51. TYPOFAKTUM • Obere Navigation • Text-Menüs • Unordered List <ul> • Ausklappbar, wegen Benutzerfreundlichkeit und SEO • Kein TMENU_LAYERS da Code sehr groß und vor allem sehr gruslig ist :-) (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010 51 Dienstag, 6. April 2010 51
  • 52. TYPOFAKTUM <div id="mainnav"> <ul> <li><a href="home/"></a></li> <li><a href="agentur/">Agentur</a> <ul> <li><a href="agentur/warum-wir/">Warum wir?</a></li> <li><a href="agentur/profil/">Profil</a> <ul><li>...</li></ul> </ul></li> </ul> </div> jQuery(function(){ jQuery('#mainnav li').mouseenter(function () { jQuery(this).find('ul').eq(0).addClass('open').show().dropShadow(); }); jQuery('#mainnav li').mouseleave(function () { jQuery(this).find('ul').eq(0).removeClass('open').hide().removeShadow(); }); }); (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010 52 Dienstag, 6. April 2010 52
  • 53. QUELLEN Online Quellen für jQuery (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010 53 Dienstag, 6. April 2010 53
  • 54. QUELLEN • jQuery Cheatsheet zum Ausdrucken (PDF) http://labs.impulsestudios.ca/ downloads/impulse_studios- jquery_cheat_sheet-1.0.pdf • jQuery Dokumentation und Referenz http://docs.jquery.com/Main_Page • jQuery Plugins http://plugins.jquery.com/ (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 54 Dienstag, 6. April 2010 54
  • 55. QUELLEN • Blog zum Thema jQuery Beispiele http://www.noupe.com/jquery • jQuery for Designers http://jqueryfordesigners.com/ • The ultimate jQuery list http://jquerylist.com/ (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 55 Dienstag, 6. April 2010 55
  • 56. QUELLEN (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 56 Dienstag, 6. April 2010 56
  • 57. BÜCHER Empfehlenswerte Bücher (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010 57 Dienstag, 6. April 2010 57
  • 58. BÜCHER Empfehlenswerte Bücher (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010 58 Dienstag, 6. April 2010 58
  • 59. ÜBER TYPOFAKTUM Medienkompetenz aus München (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010 59 Dienstag, 6. April 2010 59
  • 60. ÜBER TYPOFAKTUM • Münchner Fullservice-Agentur für Unternehmenskommunikation http://www.typofaktum.de • Inhabergeführt: Patrick Lobacher / Christoph Laruelle • Spezialisiert auf Webapplikations-Entwicklung, vorwiegend mit Hilfe von TYPO3 • Gründung vor 16 Jahren (net-o-graphic / Agentur Laruelle) Zusammenschluss und Umbenennung am 02.01.2009 • Über 800 realisierte Projekte • Kunden: Vodafone, Finanzscout 24, AGIP, Contraco, Arbeitsagentur München, Langenscheidt, Motorola, Seifert, Integralis, u.v.a.m (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 60 Dienstag, 6. April 2010 60
  • 61. ÜBER TYPOFAKTUM • GF Patrick Lobacher hat zahlreiche Publikationen über alle Aspekte der Webentwicklung: • Geschäftsbereiche • TYPO3 Konzeption, Entwicklung, Programmierung, Integration (inkl. Extbase / Fluid / FLOW3) • Webapplikationsentwicklung (PHP, iPhone, ...) • Consulting, Projektmanagement & Coaching • Schulung (inkl. komplettes TYPO3-Curriculum von Anfänger bis Fortgeschrittene und Spezialschulungen sowie Firmen- und Individualschulungen) (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 61 Dienstag, 6. April 2010 61
  • 62. ÜBER TYPOFAKTUM • Adresse: typofaktum unternehmenskommunikation belfortstr. 8 81667 münchen tel 089 46 13 38 67 fax 089 46 13 38 68 email info@typofaktum.de web http://www.typofaktum.de (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 06.04.2010 62 Dienstag, 6. April 2010 62
  • 63. NOCH FRAGEN? gerne auch per Mail: patrick.lobacher@typofaktum.de http://www.typofaktum.de (c) 2010 - typofaktum unternehmenskommunikation | jQuery für Anfänger | Patrick Lobacher | 31.01.2010 63 Dienstag, 6. April 2010 63