Na
http://vlajky.ic.cz/pda/
mam udelany prepinani v JavaScriptu. Problem je, ze mi to funguje ve FireFoxu a v IE ne.
Muzete mi nekdo poradit, co tam je spatne?
Soubory jsou:
index.html
styl1.css
styl2.css
Diky moc.
javascript javascript..... udělej to v php
Potrebuju to v JavaScriptu, taky ho nemam rad, ale jinak to nejde...
zkus se mrknout na:
http://www.jakpsatweb.cz/clanky/uzivatelsky-styl-bookmarklet.html
zamer se na to provedeni: javascript:document.createStyleSheet('file.css','number_increment');
ten druhy parametr musi byt vzdy vyssi nez ten puvodni, aby to fachalo. Zacinej na 0. Jo a melo by to podporovat min. IE i Mozilla, Opera nejspis taky
Ja by som to spravil takto:
Pridal by som do dokumentu okrem normálneho štýlu aj alternatívne štýly:
<link type="text/css" rel="stylesheet" href="main-1.css" />
<link type="text/css" rel="alternate stylesheet" href="main-2.css" />
<link type="text/css" rel="alternate stylesheet" href="main-3.css" />
Potom by som spravil funkciu:
function setStylesheet (href)
{
var alternatives = {"main-1.css": true, "main-2.css": true, "main-3.css": true}; // asociativne pole so stylmi, ktore sa budu prepinat
var stylesheets = document.getElementsByTagName ("link"); // do stylesheets si dame vsetky elementy link
var s;
for (var i = 0; (s = stylesheets [i]); ++i) // prejdeme vsetky elementy link, do s si ulozime aktualny
if (alternatives [s.href]) // ak je v poli so stylmi, tak ho mozeme zapnut/vypnut
s.disabled = (s.href != href); // styl je vypnuty vtedy, ak jeho atribut href je iny ako ten, ktory chceme nastavit, inak je zapnuty
}
Netestoval som to, tak tam môže byť chyba, ale princíp by mal byť jasný.
Pole alternatives je tam preto, aby sa nevypínali štýly, ktoré majú byť stále zapnuté. Ak tam také nie sú, tak tam ani toto pole nemusí byť.
sorry, necetl jsem vsechny vase prispevky, jen jsem to proletel a napadlo me: co cookies? javascript prece umi pracovat s cookies, tak neni problem nejak ukladat nastavenej styl,ne?