Philipp S: inhalte einblenden

Hallo!
ich bin gerade dabei die Homepage meines Musikvereins neu zu erstellen und wollte auf die Startseite eine Liste mit allen änderungen die auf die Seite ausgeführt worden sind, will aber nur die ersten 5 anzeigen lassen und den rest ausblenden.
Die einzelnen Einträge hab ich in einem table zusammengefasst und jeder tabellenzeile außer den ersten 5 eine id gegeben die ich in css mit display:none versehen hab
dann habe eich einen Button mit dem ich alle änderungen anzeigen kann und wieder ausblenden kann den ich mit jQuery diese funktion zugewisen habe:

<script type="text/javascript">  
<!--	$("button").toggle(funktion(){						  
   $("#hidden")css("display","none"); 	  
   $(this).text("ausblenden");	  
}, funktion(){ 					  
   $("#hidden").css("display","block");  
   $(this).text("einblenden");  
});  
//-->  
</script>

Mein Problem der Button funktioniert nicht
Firebug zeigt mir an:
missing ) after argument list

Was hab ich falsch gemacht? ich weiß nicht wo da ne klammer fehlen sollte

und falls jemand eine Lösung hat dass die ersten 5 tabelenzeilen automatisch angezeigt werden und der rest ausgeblendet wird, würde ich mich auch sehr darüber freuen, dann müsste ich nicht immer dem 6ten 7ten .. diese id verpassen

Ich hoffe ihr versteht mein problem
und schonmal im vorraus: danke an alle die antworten

Philipp

  1. Hi,

    Die einzelnen Einträge hab ich in einem table zusammengefasst und jeder tabellenzeile außer den ersten 5 eine id gegeben die ich in css mit display:none versehen hab

    Das ist unklug, weil dann bei deaktiviertem JavaScript diese Inhalte gar nicht zugänglich sind.
    Wenn das Zeigen auf JavaScript basiert - dann solltest du auch das verstecken mit JavaScript machen.

    Mein Problem der Button funktioniert nicht
    Firebug zeigt mir an:
    missing ) after argument list

    Dann schau dir doch bitte diese Zeile noch mal genauer an:
    > $("#hidden")css("display","none");

    und falls jemand eine Lösung hat dass die ersten 5 tabelenzeilen automatisch angezeigt werden und der rest ausgeblendet wird, würde ich mich auch sehr darüber freuen, dann müsste ich nicht immer dem 6ten 7ten .. diese id verpassen

    Mit JavaScript kannst du alle Zeilen ermitteln, und natürlich beim Durchlaufen dieser in einer Schleife auch mitzählen, um die wievielte es sich handelt.

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
    1. Danke für die schnelle antwort.
      Ich weiß, dass das bestimmt richtig dumme fehler von mir waren, ich hab mit jQuery heute erst angefangen und bin noch dabei es zu vertehen..

  2. Zwei Schüsse in den blauen Himmel:

    <!-- $("button").toggle(funktion(){

    Kaufe ein c, das überflüssige k kannst du ja bei eBay verticken.

    $("#hidden")css("display","none");

    Den . schenke ich dir und den Rat, in Zukunft die Einrückungen sinnvoll zu machen anstatt mit dem Würfel auszuwürfeln, gibt's kostenlos obendrauf.

    Mein Problem der Button funktioniert nicht
    Firebug zeigt mir an:
    missing ) after argument list

    und falls jemand eine Lösung hat dass die ersten 5 tabelenzeilen automatisch angezeigt werden und der rest ausgeblendet wird, würde ich mich auch sehr darüber freuen, dann müsste ich nicht immer dem 6ten 7ten .. diese id verpassen

    Du könntest die erste und die Restgruppe in einem eigenen Absatz (<p>), Block (<div>) oder Tabellenkörper (<tbody>, <table> darf mehrere <tbody> enthalten) legen.

    1. hey
      Dir auch danke für die schnelle Antwort!
      Ich bin jetzt schon seit 2 stunden am PC und suche die Fehler.

  3. Hier hab ich euch mal ein Codeausschnitt eingefügt:

    <h3>Neu auf unserer Homepage</h3>  
      <div id="neues">  
        <table>  
          <tr>  
            <td>19.06.10</td>  
            <td>Termine aktualisiert</td>  
          </tr>  
          [...]  
          <p class="hidden">  
            <tr>  
              <td>07.12.09</td>  
              <td>Bläserklasse</td>  
            </tr>  
            [...]  
          </p>  
        </table>  
        <button>sichtbar<button>
    
        <script type="text/javascript">  
          <!--  
          $("button").toggle(function(){  
            $(".hidden").hide("fast");  
            $(this).text("einblenden");  
          }, function(){  
            $(".hidden").show("slow");  
            $(this).text("ausblenden");  
          });  
          //-->  
        </script>
    

    ~~~html </div>

      
    Jetzt zeigt mir firebug an: $("button") is null  
    Was bedeutet das bzw. was kann ich machen damit der button funktioniert?  
    Bitte steinigt mich nicht für meine dummen fehler
    
    1. Hi,

      Jetzt zeigt mir firebug an: $("button") is null
      Was bedeutet das bzw. was kann ich machen damit der button funktioniert?

      Wenn dir nicht klar ist, was das $-Funktionsobjekt von jQuery macht - dann lies es bitte in der Doku nach.

      Bitte steinigt mich nicht für meine dummen fehler

      Nein, das machen wir nur für dumme Fragen.
      (Ob du dich damit jetzt sicherer fühlen kannst, überlege bitte selber.)

      MfG ChrisB

      --
      “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
    2. Mahlzeit Philipp S,

      Hier hab ich euch mal ein Codeausschnitt eingefügt:

      Validiere Deinen HTML-Code! Immer!

      <table>
            [...]
            <p class="hidden">
              <tr>
                <td>07.12.09</td>
                <td>Bläserklasse</td>
              </tr>
              [...]
            </p>
          </table>

      Ein <p> hat z.B. direkt unterhalb eines <table> nix zu suchen - nicht mal ansatzweise!

      MfG,
      EKKi

      --
      sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
      1. hey.
        ja aber ich wollte damit bezwecken dass ich den teil den ich ausblenden will ansprechen kann.

        ich glaube aber dass mein problem ein anderes ist.
        ich habe in einem anderem forum gelesen dass es probleme gibt falls man jQuery und Lightbox zusammen auf einer seite benutzt.
        Falls ich die ganzen Lightbox sachen aus meinem Header lösche funktioniert zumindest die beschrieftung des buttons. Es wird aber trotzdem nichts ein oder ausgeblendet.

        1. Mahlzeit Philipp S,

          ja aber ich wollte damit bezwecken dass ich den teil den ich ausblenden will ansprechen kann.

          Ja und? <http://de.selfhtml.org/html/referenz/attribute.htm#tr@title=Du kannst auch Tabellenzeilen Klassen zuordnen> ...

          Falls ich die ganzen Lightbox sachen aus meinem Header lösche funktioniert zumindest die beschrieftung des buttons. Es wird aber trotzdem nichts ein oder ausgeblendet.

          Solange Dein HTML-Code nicht valide ist und deshalb kein gültiges DOM erzeugt, wirst Du auch weiterhin Probleme haben. Beseitige die Ursache und frickele nicht an den Symptomen herum!

          MfG,
          EKKi

          --
          sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        2. Hallo,

          ja aber ich wollte damit bezwecken dass ich den teil den ich ausblenden will ansprechen kann.

          dann verwende ein Element, das an der Stelle erlaubt und sinnvoll ist, etwa ein tbody.

          ich habe in einem anderem forum gelesen dass es probleme gibt falls man jQuery und Lightbox zusammen auf einer seite benutzt.

          Möglich, aber weit hergeholt.

          Falls ich die ganzen Lightbox sachen aus meinem Header lösche funktioniert zumindest die beschrieftung des buttons. Es wird aber trotzdem nichts ein oder ausgeblendet.

          Das spricht dann wohl eher gegen deine These.

          Ciao,
           Martin

          --
          Der Stress von heute ist die gute alte Zeit von morgen.
          Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(