Ergebnis 1 bis 8 von 8
  1. #1
    texas ist offline Grünschnabel
    registriert
    15-03-2009
    Beiträge
    4

    Unhappy Styleswitch mit Javascript

    Hallo,
    ich würde gerne einen Styleswitch für meine Website einbauen damit bei unterschiedlichen Menüpunkten verschiedene Schriftformatierungen (Themen bezogene Farbe) kommen. Da ich totaler Anfänger in Javascript bin bitte ich um Hilfe bei nachstehendem Code.
    Code:
    <html>
    <head>
    <script type="text/javascript">
    function switch()
    {
    	if('stylesheet1')
    		document.write ('<link rel="stylesheet" type="text/css" href="winter.css" />\n');
    	else
    		document.write ('<link rel="stylesheet" type="text/css" href="sommer.css" />\n');
    }
    </script>
    </head>
    <body>
    <h1>Seite 1</h1>
    <a href="seite2.htm" onclick="switch(stylesheet1)">Seite 2</a>
    </body>
    </html>
    Vielen Dank vorab für eure Postings...

  2. #2
    the_MKay ist offline Jungspund
    registriert
    09-03-2009
    Beiträge
    13

    AW: Styleswitch mit Javascript

    Hm

    dein Code hinkt an allen Ecken und Enden
    Also zunächst übergibst du der Funktion einen Parameter, der in der Funktion aber nicht existiert. Zumal ist die Variable stylesheet1 nicht definiert. Dann prüfst du auf einen String, was ebenfalls keinen Sinn macht. Zu guter letzt überschreibst du die gesamte Seite mit einem link-Tag.

    Hier einmal ein Code, wie das ganze aussehen könnte:
    Code:
    <html>
    <head>
    <link href="sommer.css" rel="stylesheet" type="text/css" id="myStyle">
    <script type="text/javascript">
    function switchStyle(sheet)
    {
    	document.getElementById('myStyle').removeAttribute('href');
    	document.getElementById('myStyle').setAttribute('href', sheet);
    }
    </script>
    </head>
    <body>
    <h1>Seite 1</h1>
    <a href="#" onclick="switchStyle('winter.css'); return false;">Winter</a>
    <a href="#" onclick="switchStyle('sommer.css'); return false;">Sommer</a>
    </body>
    </html>
    mkay.bluray-filme.com

  3. #3
    texas ist offline Grünschnabel
    registriert
    15-03-2009
    Beiträge
    4

    AW: Styleswitch mit Javascript

    Super danke,
    der styleswitcher funktioniert nun.
    Nur wie kann ich denn dabei auch noch eine neue Seite öffnen. Kann ich nicht irgendwie den href="#" Tag nutzen um eine neue Seite zu öffnen und einen Seitenspezifischen Stylesheet (durch onclick) öffnen.
    Code:
    <html>
    <head>
    <link href="sommer.css" rel="stylesheet" type="text/css" id="myStyle">
    <script type="text/javascript">
    function switchStyle(sheet)
    {
    	document.getElementById('myStyle').removeAttribute('href');
    	document.getElementById('myStyle').setAttribute('href', sheet);
    }
    </script>
    </head>
    <body>
    <h1>Seite 1</h1>
    <a href="seite1.htm" onclick="switchStyle('winter.css'); return false;">Winter</a>
    <a href="seite2.htm" onclick="switchStyle('sommer.css'); return false;">Sommer</a>
    </body>
    </html>

  4. #4
    Avatar von dkdenz
    dkdenz ist offline Foren-Gott
    registriert
    13-04-2004
    Ort
    Lübeck
    Beiträge
    12.050

    AW: Styleswitch mit Javascript

    Was ist das denn für ein Switcher?
    Suche Dir mal über Google einen zeitgemäßen...
    (oder hier über die interne Suche)

  5. #5
    the_MKay ist offline Jungspund
    registriert
    09-03-2009
    Beiträge
    13

    AW: Styleswitch mit Javascript

    Zitat Zitat von dkdenz Beitrag anzeigen
    Was ist das denn für ein Switcher?
    Suche Dir mal über Google einen zeitgemäßen...
    Ist der von mir gepostete etwa out of date? Oder was ist an diesem auszusetzen?

    @texas:
    Das Script gilt natürlich nur für die einzelne Seite. Wenn du den aktuellen Style speichern willst, dann würde ich das entweder serverseitig machen und den Style in einem Cookie oder einer Session speichern oder in der URL übergeben.

    Wenn es wirklich JavaScript sein muss, dann kannst du ebenfalls den Style in einem Cookie speichern oder den Query-String auswerten.

  6. #6
    texas ist offline Grünschnabel
    registriert
    15-03-2009
    Beiträge
    4

    AW: Styleswitch mit Javascript

    okay danke,
    aber noch etwas konkreter zu dem was ich eigentlich will. Ich habe eine Website mit PHP und möchte meinen Header-Banner sowie die Schriftformatierungen auf einzelnen Seiten wechseln. Rein von der Logik müsste das dann so irgendwie gehn.

    Wenn Website = "index.php?content=winter" dann benutze "style1.css"
    wenn "/index.php?content=sommer" dann benutze "style2.css"
    sonst benutze bei allen andern "style3.css".

    Sowie ich gelesen habe ist das wohl besser mit PHP zu lösen. Hat da einer ein konkretes Beipiel das meinen Sachverhalt löst, oder einen entsprechenden Link?

  7. #7
    the_MKay ist offline Jungspund
    registriert
    09-03-2009
    Beiträge
    13

    Arrow AW: Styleswitch mit Javascript

    Naja, Parameter, die über die URL übergeben werden, stehen bei PHP im $_GET-Array.

    Das ganze kannst du dann so lösen:
    Code:
    <?PHP
    $stylesheet = 'standard.css';
    if (isset($_GET['stylesheet'])) {
    	if ($_GET['stylesheet']=='winter') {
    		$stylesheet = 'winter.css';
    	} else if ($_GET['stylesheet']=='sommer') {
    		$stylesheet = 'sommer.css';
    	}
    }
    echo '<link rel="stylesheet" href="'.$stylesheet.'" />';
    ?>
    BTW: Script nur so hingetippt, nicht getestet.

    Nun hast du diese Möglichkeiten für den Aufruf.
    datei.php
    datei.php?stylesheet=winter
    datei.php?stylesheet=sommer

    Du könntest natürlich den Wert auch in einer Session-Variable oder einem Cookie speichern, damit du nicht bei jedem Link das "?stylesheet=..." anhängen musst.
    Aber vllt ist das auch das richtige, da du ja den Style für einzelne Seiten ändern willst
    mkay.bluray-filme.com

  8. #8
    texas ist offline Grünschnabel
    registriert
    15-03-2009
    Beiträge
    4

    AW: Styleswitch mit Javascript

    Super,
    vielen Dank! Es läuft nun, hab es nun folgender Maßen gelöst
    Code:
    <?php
    if (isset($_GET['content'])) {
    	$content = htmlspecialchars(strtolower(trim($_GET['content'])));
    	} else {
    		$content = '';
    	}
    $pages = array( 'home', 'winter', 'sommer', 'infos');
    if ( !in_array( $content, $pages ) )
    	$content = 'home';
    echo '<link rel="stylesheet" type="text/css" href="css/'.$content.'.css" />';
    ?>

Ähnliche Themen

  1. Javascript durch Link auf 2. Seite ausführen??
    Von Bass-T im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 27-06-2008, 11:35
  2. Integer in JavaScript?
    Von Hi iam CDATA im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 28-02-2007, 16:19
  3. Verständnisproblem mit PHP Script und JavaScript
    Von krusty007 im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 24-10-2006, 10:11
  4. Button ohne Funktion - wenn JavaScript deaktiert ist
    Von andie_71 im Forum JavaScript
    Antworten: 9
    Letzter Beitrag: 18-04-2005, 09:13
  5. javascript im javascript
    Von goonsite im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 08-04-2005, 20:25

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •