

javascript - načítanie externého CSS za podmienky
zatial som to riešil takto:
if (podmienka)
{
element.style.property1 = value1
element.style.property2 = value2
}
else
{
element.style.property1 = value3
element.style.property2 = value4
}
ale ako toto napísať tak aby medzi {} bol len odkaz na súbor CSS a v tom externom súbore CSS boli napísané property a value?
jakoby
if (podmienka)
{
načítaj CSS 'style1.css';
}
else
{
načítaj CSS 'style2.css';
}
Např. takto: https://otaqui.com/blog/1263/simple-script-to-load -css-from-javascript/
je to takto správne a optimálne?
V tomhle případě bych staticky načetl oba soubory a JavaScriptem bych jenom nastavoval class, pomocí které by se mezi nimi přepínalo. Nebo ještě lépe bych to měl v jednom souboru.
nie som si istý, čo myslíš (najmä to v jednom súbore, to prepínanie ešte asi chápem). Môžem vidieť nejakú ukážku?
.prvni div { font-color: black; }
.druhy div { font-color: red; }
A prostě jen přepínáš třídy prvni a druhy.
Aha,to uz vhapem ale to asi v mojom pripade nebude dobre riesenie, totiz tu mam este dalsiu vec ktora "zameriava" konkretny div.
Co tím konkrétně myslíš?
Nevím jestli je to co chceš ani jestli je to košér, ale dělám to takto a používám pro různé styly při kliku na "Zobrazit pro čtení" či "Zobrazit pro tisk" (můžeš vyzkoušet třeba tady: http://turistika.arkotechnik.cz/Reports/R_019_Dnem Rybnika/R_019_DnemRybnika.html (tlačítka jsou na konci). Ber to pro inspiraci, přizpůsob své potřebě:
V <head> mám natažení takto dvou stylů (začne fungovat ten druhý) a načtení javascriptu:
Dále mám ve výše uvedeném extra souboru "EnableStyl.js" javascript:
A tlačítka pro změnu styly mám takto:
Taky možnost. I když zrovna pro tisk bych spíš použil tohle a vykašlal se na JS:
Jasně, máš pravdu. Já to však chtěl aby to fungovalo zároveň jako náhled.
Alebo možno ešte lepšie bude ak by som mal
index.html
archon.js
s tým že by sa style2.css načítaval tak, že definície vo vnútri by prepísali tie pôvodné načítané z style.css jakoby:
v style.css bolo napríklad že text1 má byť červenou farbou text2 má byť modrou farbou
a v prípade splnenej podmienky by text1 bol červenou ale text2 by už bol zelenou, lebo v style2.css by bolo definované že má byť zelenou, aj keď v style1 je pre ten samý text definovaná modrá.
Snaď chápete... ale s tým že vlastne keď podmienka prestane platiť tak prestane byť style2.css aktívny (zase bude text2 modrou)... teda style1 by bol aktívny neustále a style2 by bol aktívny len v prípade že podmienka je splnená.
nechcem meniť "div" ale skôr CSS, resp. hodnoty pre daný property...
ma napadlo že by som to zapísal takto:
V tom případě můžeš použít řešení od Rce.
Ale jinak se tohle obvykle řeší nastavováním třídy.
ešte ma napadol spôsob:
alebo
len potom ak znova prestane platiť podmienka tak aby sa prestalo používať style2.css
inak ďakujem, ak ebude fungovať tak vyskúšam to od RCE