Diskuze: Označení class

JavaScript JavaScript Označení class

Avatar
Jakub Lopata
Člen
Avatar
Jakub Lopata:

Dobrý den,
při vstupu na stránky mám označen hned první odkaz jako aktivní, s přiděleným class což je vše v pořádku, když otevřu podmenu odkaz se taky pro podmenu označí jako aktivní a přidělí class. Tohle je vše v pořádku, a takhle si tu funkci představuji. Ovšem se chci zeptat zda lze nějakým způsobem udělat to, že když zavřu podmenu aby se přidělila class zase odkazu který byl aktivní když jsem otevřel stránku?

Pro představu je zde zdrojový kód https://jsfiddle.net/kbhpx4x3/
Myslím to takto: Kliknu na odkaz výše je class u Dashboard, kliknu-li na Order otevře se podmenu, znovu kliknu na Order a zavře se podmenu, ale nepřidělí class Dashboard. Lze nějak udělat aby po zavření Order byl class automaticky u Dashboard?

 
Odpovědět 30. ledna 13:46
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Jakub Lopata
Taskkill:

Jen nalehko - zrovna neco dela, tak se ti tu moc nerozepisu, ale pokus si napises o podrobnejsi popis rad to doplnim. Kdyz kliknes na Order a rozjede se ti menu, tak na pozadi se deje to, ze pomoci jQuery vsem nav li a elementum odeberes active class ... cimz sice udelas svou praci, ale pokud to budes chtit reverznout mas smulu (v pripade ze bude v prvnim levelu u menu vice polozek, takhle se dvema by to jeste slo) no takze musis na to jinak, musis si nejdriv najit element ktery tu classu active skutecne ma, tomu ji vzit a ulozit si odkaz na nej do promene, jen pro pripad, udelas to jednoduse var previousActive = $(selector) ; klasika. Ta promenna at je idealne globalni v tvem namespacu, aby k ni mohly pristupovat vsechny funkce (rozhodne musi byt inicializovana mimo tu tvou funkci, takze spis to bude
var previusActive;
a pak nekde ve funkci
previousActiv = blabla ..

no a kdyz se budes vracet v menu o uroven vejs, jakoze budes schovavat to submenu (druhej level) tak jenom reknes at jQuery prida previousActivu tu classu active .. a vynulujes previousActiv aby to nedelalo neplechu .. dobre?

Jo a npouzivej tam else if ... mas tam pdominku if(objekt.maTri­du(active)) {bla bla} else if(objekt.nema­Tridu(active)) {bla ble} - nebo podobne...tam dej jen else a bez podminky jinej stav ti nenastane

 
Nahoru Odpovědět 30. ledna 18:15
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.