jQuery: CSS Stylesheet Switcher
Tutorial von Stefan Trost | Letztes Update am 25.12.2022 | Erstellt am 05.07.2012
In diesem Tutorial möchte ich euch zeigen, wie man mit wenigen Zeilen Code, JavaScript und jQuery einen CSS Stylesheet Switcher auf einer Website implemetieren kann.
Im Beispiel haben wir drei verschiedene CSS Styles zur Auswahl, die der Nutzer mit einem Link einstellen kann.
Im Folgenden zeige ich euch den nötigen HTML und jQuery Code:
HTML: CSS Einbinden
Zunächst binden wir unser Standard-CSS ein, wie wir es von der Einbindung von CSS Stylesheets im Head unserer Seite gewohnt sind:
<link rel="stylesheet" href="style.css" type="text/css">
Dieses Stylesheet wird geladen, wenn der Nutzer zum ersten Mal unsere Seite besucht.
HTML: Links zu Stylesheets
Als nächstes brauchen wir die Links zu unseren Stylesheets. Wenn der Nutzer auf einen dieser Links klickt, wird der entsprechende Style geladen:
<a href="#" class="switchcss" rel="style.css">Normal</a> <a href="#" class="switchcss" rel="style1.css">Design 1</a> <a href="#" class="switchcss" rel="style2.css">Design 2</a>
Die Links können wir überall auf unsere Seite packen, da wo wir sie benötigen.
Alle Links sind mit der Klasse "switchclass" gekennzeichnet. Dadurch können wir später die Links durch jQuery ansprechen. Insgesamt stellen wir 3 unterschiedliche Designs zur Verfügung, wofür wir natürlich auch 3 CSS-Dateien benötigen, die wir hier "style.css", "style1.css" und "style2.css" genannt haben. Der erste Link ("normal") soll später das Standarddesign ("style.css") wiederherstellen, die beiden anderen Links dienen dazu, dass der Nutzer "Design 1" (style1.css) und "Design 2" (style2.css) einstellen kann.
JavaScript: Unser jQuery Code
Zuletzt benötigen wir noch ein wenig jQuery, um unser Vorhaben umsetzen zu können:
$(document).ready(function() { $("a.switchcss").click(function() { $("link[rel=stylesheet]").attr('href' , $(this).attr('rel')); return false; }); });
Unser jQuery Code macht folgendes: Wir selektieren mit "a.switchcss" alle Links (a), denen die Klasse "switchcss" zugewiesen wurde. Das sind genau unsere 3 Links, die wir oben definiert haben.
Das OnClick-Event dieser Links ändern wir danach so: Klicken wir auf einen der Links, wird das Element "link[rel=stylesheet]" geändert. Das ist genau unsere Definition des Stylesheets vom Anfang aus dem Head. Und zwar wird das Attribut "href" (darin ist der Link zu der CSS-Datei angegeben) auf das Attribut "rel" des Links gesetzt. Und in dem "rel"-Attribut des Links haben wir oben unsere verschiedenen Stylesheets angegeben.
Damit ist unser CSS Styleswitcher mit jQuery fertig! Klicken wir auf einen der Links, wird das entsprechende Stylesheet geladen. Natürlich lassen sich die Namen, Links und die Anzahl der Stylesheets beliebig nach diesem Prinzip ändern und anpassen.
Über den Autor
Software von Stefan Trost finden Sie auf sttmedia.de. Benötigen Sie eine individuelle Software nach Ihren eigenen Wünschen? Schreiben Sie uns: sttmedia.de/kontakt
Profil anzeigen
Ähnliche Themen
CSS-Stylesheets in HTML einbinden
Tutorial | 0 Kommentare
Bilder, CSS, JS und Seiten neu laden trotz Browser-Cache
Tipp | 2 Kommentare
Website Performance: Javascript und CSS komprimiert ausliefern und Ladezeiten verkürzen
Tutorial | 0 Kommentare
Hintergrund einer Website verdunkeln (Gray Out Effekt)
Tutorial | 0 Kommentare
HTML: Unterschied zwischen ID und CLASS
Info | 0 Kommentare
CSS: Tabellenzeilen abwechselnd einfärben nur mit CSS
Tutorial | 0 Kommentare
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.
Gutes Tutorial und alles gut erklärt. Gefällt mir. Einziges Problem, das ich sehe: Das ausgewählte Stylesheet wird sich nicht gemerkt. Dadurch ist die Auswahl verloren gegangen sobald ein Nutzer eine neue Seite aufruft. Auf dieser müsste er dann das Stylesheet wieder neu auswählen.
Interessant wäre es hier, das aktuell gewählte Stylesheet in einem Cookie festzuhalten und dann immer wieder neu zu laden. Auf dieser Seite gibt es dazu eine kleine Lösung.
Ansonsten ist das Tutorial super und sollte auch für Nutzer verständlich sein, die noch Anfänger in Sachen jQuery sind.
06.07.2012 um 08:31