Autor Zpráva
Anonymouz
Profil *
Zdarec lidi,
potřebuji vytvořit funkci v JS, která bude přepínat "margin-top: 32px !important" na "margin-top: 0px !important" a obráceně po opětovném kliknutí.

Pro tento příklad jsem vytvořil živou ukázku v tomto odkazu Živá ukázka

Pokud by v souboru style.css nebyla hodnota margin-top vedená jako important, tak bych neměl problém a fungoval by mi příklad č. 1 v živé ukázce. Bohužel important uvedený je a zápisem v příkladu č. 1 mi nejde přepsat.

Vyzkoušel jsem jiný zápis (v živé ukázce je zakomentovaný). Tady mi už lze !important přepsat, ale při opakovaném vyvolání funkce už nejde k vrácení na původní hodnotu.

Prosím o pomoc, jak tento přepínač zprovoznit.
Radek9
Profil
Anonymouz:
Tyhle manipulace se styly jsou vždycky trochu problematické. Nejjednodušší je vytvořit si dvě třídy s různým marginem a ty měnit pomocí JS: Živá ukázka
weroro
Profil
Anonymouz:
Prípadne Živá ukázka (ale nie som si úplne istý podporou)
Radek9 dodal najlepšie riešenie.
Anonymouz
Profil *
Radek9: Díky za radu. Na tento postup s třídami jsem také narazil. Ale bohužel je to trochu komplikovanější. Tuto funkci chci narvat do rozšíření v prohlížeči, které by mi blokovalo navigační panel na stránce CMS. Samotné skrytí panelu je v pořádku. Ale po skrytém panelu mi stále zůstává 32px margin-top v elementu <html> </html>. Potřebuji odstranit panel ale i volné místo, které tento panel vytváří. Jde o více stránek s tímto CMS a tak vytváření postupu s třídami by pro mě bylo komplikovanější (muselo by se vytvářet pro všechny weby). Možná by to celé šlo napsat pomocí JS, který by tyto styly pro jednotlivé třídy napsal do tagu <style></style> Ale tento postup bohužel neznám a nepodařilo se mi to najít. Když tak prosím napověz :-)

weroro: Moc děkuji za radu. Sice totálně nechápu, co to znamená, ale funguje to. Jakmile dojde k vyvolání funkce, skryje se panel a odstraní volné místo.
Tomáš123
Profil
Anonymouz:
Pod predmetný panel môžeš umiestniť výplňový prvok s požadovanou výškou a spolu s panelom skrývať aj ten. Ak teda správne predpokladám, že sa jedná o fixne poziciovaný panel s navigáciou. Ak sa nejedná o fixne pozicivovaný prvok, situáciu ide dosť pravdepodobne vyriešiť bez marginu i výplňového prvku.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: