WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Hintergrundfarbenwechsel(html) (http://www.wcm.at/forum/showthread.php?t=113147)

Robin Hood 23.10.2003 21:12

Hintergrundfarbenwechsel(html)
 
Hab folgenden Befehl in einen meiner Programme gefunden:

<form name="test" method="post">

<input type="button" value="rot"
onclick="document.bgColor = '#ff0000'">

<input type="button" width=50 value="gelb"
onclick="document.bgColor = '#ffff00';">

<input type="button" value="blau"
onclick="document.bgColor = '#000099';">

<input type="button" value="grün"
onclick="document.bgColor = '#006600';">

</form>

Er funktioniert auch perfekt aber er verändert nur die Farbe der Startseite

Was muss ich schreiben, dass er die Farbe aller Links ändert???? (onclick="Name der Seite.htm" geht nicht hab ich schon probiert)

Robin Hood 23.10.2003 21:24

aja wie das ganze aussieht seht ihr auf meiner Seite (die leider noch nicht ganz fertig ist):www.spharion.net.tf

jak 23.10.2003 22:09

Das geht mit JS wahrscheinlich nur mit sehr viel Aufwand.
Ich würde mir mal überlegen, ob du das wirklich brauchst. Ich finde das nur unnötig.

Mit PHP könntest du die Farbe einfach in einer Session Variablen speichern und hättest auf jeder Seite den code
<body bgcolor="<?php echo $farbe;?>">

Jak

AzRAeL 24.10.2003 10:43

du könntest
 
4 verschiedene css einbinden und zwischen denen dann switchen - da kannst text, farbe göße- alles angeben ;-)) und brauchst immer nur das css und nicht das script ändern

Robin Hood 24.10.2003 17:44

gute Idee AzRAeL!
Nur weist du den Code dafür?

jak 25.10.2003 13:24

Re: du könntest
 
Zitat:

Original geschrieben von AzRAeL
4 verschiedene css einbinden und zwischen denen dann switchen - da kannst text, farbe göße- alles angeben ;-)) und brauchst immer nur das css und nicht das script ändern
Und wie willst du
1.) Das zuständige CSS ändern
2.) Diese Änderung "Vererben"?

Mir fällt im Moment nur folgendes ein:
Die ganze Seite besteht aus einem Frameset wobei das Frameset nur aus einem Frame besteht. wenn man die Farbe wechselt wird einfach ein anderes Frameset geladen, das ein anderes CSS einbindet.

Beispiel: z.B. framegruen.htm
Code:

<html>
<head>
<link rel="stylesheet" type="text/css" href="gruen.css">
</head>
<script language="JavaScript" type="text/javascript">
 document.writeln('<frameset>');
 document.write('<frame src="');
 document.write(seite);
 document.writeln('" name="main">')
 document.writeln('</frameset>');
</script>
</html>

Das Problem ist nur: seite sollte eine arable sein. wie bestimmt man den Wert?
Irgendwo in der Seite hätte man dann einen Link das ganze in Rot. Das Problem ist nur: wie übergibt man "seite" an die JS Funktion?
Vielleicht kann man irgendwie etwas mit document.location.href bauen.

Jak

AzRAeL 27.10.2003 10:57

in etwa so
 
document.createElement('link');

oder

document.createStyleSheet

oder du bindest alle von anfang an ein - binst ihnen namen oder ids und switcht dann mit

var deinstylesheet = document.getElementById("deinstylesheet");
deinstylesheet.disabled = true;

und der den du haben willst machst deinstylesheet.disabled = false;

AzRAeL 27.10.2003 11:22

ok weil ich heute gut aufgelegt bin..
 
hier mal ein anfang....

Code:

<html>
<head>

<link id="rot" rel="stylesheet" type="text/css" href="rot.css">
<link id="gruen" rel="stylesheet" type="text/css" href="gruen.css" disabled>
<link id="blau" rel="stylesheet" type="text/css" href="blau.css" disabled>

<script language="Javascript">
function switchCss(farbe){
        var rot          = document.getElementById("rot");
        var blau  = document.getElementById("blau");
        var gruen = document.getElementById("gruen");
       
        var myCss = new Array(rot, gruen, blau);
       
        if(farbe != null){
                for(var i=0; i<myCss.length; i++){
                        if(myCss[i].id == farbe){
                                myCss[i].disabled = false;
                        }else{
                                myCss[i].disabled = true;
                        }
                }
        }
}
</script>
</head>
<body>
        <a onclick="switchCss('blau');">blau</a>

        <a onclick="switchCss('rot');">rot</a>

        <a onclick="switchCss('gruen');">gruen</a>

</body>
</html>



dann baruchst noch die 3 css files... und ab gehts - wenn ich wüßte wie ich da eine datei anhängen kann - ahrgl!!

mfg

Azzy

ps: man sollte den wert in einem cookie speichern, denn wenn du einen link ausführst is alles wieder futsch

AzRAeL 27.10.2003 11:23

ahhh
 
ggg - habs schon - da ist alles drinn

Robin Hood 27.10.2003 13:23

Vielen Dank!


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:35 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag