Zufällige CSS Datei anzeigen lassen

SnakeBite334

Mitglied
Das ist das Script

Code:
<script type="text/javascript">
var zwei= 2 * Math.random();
if (zwei>1)
{
var stil = 'ebay_styles_blue_light.css'
}
else
{
var stil = 'ebay_styles_red_light.css'
}
document.getElementsByTagName('link')[0].setAttribute('href',stil);
</script>

Wie kann ich dort mehrere css dateien einbauen als 2!? Hab schon viel getestet aber nix geht.

Vielen Dank im Vorraus.
 
Theoretisch:

indem du weitere else-Abzweige einfügst:
Code:
else if(zwei>2){...}
else if(zwei>3){...}
(das "pure" else muss dabei immer am Schluss stehen.)

Theoretisch deswegen, weil nach meiner Erfahrung der eine oder andere Browser dieses Stylesheet zwar lesen, die dortigen Informationen aber ignorieren wird.

Es ist sicherer, den jeweiligen <link> mittels "write()" in das Dokument zu schreiben....und auch weitaus kompatibler.
 
Wie wärs, wenn du ein Array machst mit den Namen der CSS-Dateien.
Dann lässt du Zufallzahlen von 1 - Anzahl der Arrayelemente machen (length).
Dazu gibts ne kleine Funktion (randomNumber).


Code:
var a = new Array();
a[1] = "stil1.css";
a[2] = "stil2.css";
a[3] = "stil3.css";

function randomNumber(max) 
{
return Math.ceil(Math.random() * max)
}

document.getElementsByTagName('link')[0].setAttribute('href',randomNumber(3));
 
SnakeBite334 hat gesagt.:
könntest mir sagen wie das funktioniert, weil ich mich mit javascript nicht so auskenne...

Was jetzt.. das mit dem write()?

In deinem Beispiel:
Code:
document.write('<link rel="stylesheet" type="text\/css" href="'.stil.'">');
 
@ sh0x

Code:
<script type="text/javascript">
var a = new Array();
a[1] = "ebay_styles_blue_light.css";
a[2] = "ebay_styles_red_light.css";
a[3] = "ebay_styles_yellow_light.css";
a[4] = "ebay_styles_green_light.css";
function randomNumber(max) { return Math.ceil(Math.random() * max) }
document.getElementsByTagName('link')[0].setAttribute('href',randomNumber(4));
</script>

Funktioniert irgendwie garnicht....

@ Sven

Code:
<script type="text/javascript">
var vier= 4 * Math.random();
if (vier>1) { var stil = 'ebay_styles_blue_light.css' }
else if (vier>2) { var stil = 'ebay_styles_yellow_light.css' }
else if (vier>3) { var stil = 'ebay_styles_green_light.css' }
else { var stil = 'ebay_styles_red_light.css' }
document.getElementsByTagName('link')[0].setAttribute('href',stil);
</script>
Da kommt nur rot und blau (das else if nimmt er nicht an). Yellow und green ignoriert er einfach. Kann man das auch machen das er immer eine andere css datei nimmt. Er hat manchmal 3x hintereinander die gleiche....
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück