jQuery Tagebuch #1 – ein gesunder Mix

Ich arbeite seit Kurzem mit jQuery und versuche Stück für Stück die enormen Möglichkeiten kennenzulernen.

Ziel: 2 „Buttons“, die beim Klick, ohne Reload, versteckte Elemente angezeigen. Einmal indem die CSS Eigenschaft display geändert wird, einmal mit der jQuery slide Animation. Das Ganze wird in Funktionen verpackt die mit Übergabeparametern arbeiten. Letztenendes soll dank toggleClass ein wechselndes Hintergrundbild realisiert werden.
javascript“ line=“1″>
$(document).ready(function() {

$(„#changelog-btn“).click(function(){ BtnCss(„#changelog“); });
$(„#impressum-btn“).click(function(){ BtnSlide(„#impressum“); });

function BtnCss(BtnId) {
if( $(BtnId).css(„display“)==“block“ ) {
$(BtnId).css(„display“, „none“);
} else {
$(BtnId).css(„display“, „block“);
}
$(BtnId+“-btn“).toggleClass(„active-btn“);
}; //BtnImg

function BtnSlide(BtnId) {
$(BtnId).slideToggle(„slow“);
$(BtnId+“-btn“).toggleClass(„active-btn“);
}; //BtnSlide

}); //$(document).ready

html4strict“ line=“1″>

changelog (set css style) |
impressum (jQuery slide)

Beispiel

Details:

$(document).ready(function() {

stellt sicher, dass die jQuery Code erst reagiert, wenn das DOM komplett fertig geladen wurde. Damit wird verhinder, dass jQuery auf Elemente zugreift/manipuliert, die noch nicht geladen wurden.
Der Changelog Button fragt beim Klick mit

.css("attribut")

das aktuelle CSS Attribut „display“ der „#changelog“ ID ab und setzt den Wert mit

.css("attribut", "wert")

dann entweder auf none oder block.
Zusätzlich wird mit

.toggleClass

dem Tag eine Klasse, basierend auf den aktuellen Status, hinzugefügt oder entfernt, die das Hintergrundbild des Tags (den Pfeil) ändert.
Mit

.slideToggle

aktiviere ich, je nach aktuellem Status, die slide Animation (

.slideUp, .slideDown

oder

.slideToggle

) für die „#changelog“ ID.
Funktionen sollte klar sein. Sind hier eigentlich unnötig, zeigen aber den generellen Aufbau.

2 Kommentare

  1. Schön zu sehen, dass du dich mit jQuery beschäftigst. Und was ist dein Fazit – hilfreich oder nicht?

    Den kompletten if-Block in deiner BtnCss-Funktion kannst du übrigens durch diesen einen jQuery Befehl ersetzen:
    $(BtnId).toggle();

  2. toggle…. *facepalm* X_X

    so simpel… danke!

    jQuery ist auf jeden Fall geil! Hab mir jetzt schon 2 Bücher gekauft und meine EDV Abeteilung überzeugt, dass wir unsere Homepage (www.iqb.hu-berlin.de) jetzt ordentlich umbauen in den nächsten Monaten.
    In Zukunft werden noch 1, 2 jQuery Posts kommen, schätze ich mal.

Schreibe einen Kommentar