Autor | Zpráva | ||
---|---|---|---|
Timo Profil * |
#1 · Zasláno: 27. 3. 2007, 15:40:26
Zdravím,
mám tento js kód: <!-- Ten slouží na zobrazování a skrývání některých částí stránky (konkrétně menu). Problém spočívá v tom, že když si zobrazím určitou část a kliknu na odkaz, tak po načtení požadované stránky se mi zobrazená část opět skryje a já chci, aby zůstávala zobrazená do té doby, než ji uživatel sám neskryje. |
||
peta Profil |
#2 · Zasláno: 27. 3. 2007, 15:58:04
Pri znovunacteni stranky se nastavi puvodni nastaveni, jako pred zmenou.
Abys to ulozil, musis nastavit naco do PHP SESSION / PHP COOKIE nebo JS COOKIE nebo neco ulozit do databaze nebo na server a nebo poslat nastaveni pres GET. JS nedotkaze ukladat data jinam nez do cookies nebo odesilat ven. jakpsatweb - javascript - priklady - gethttpvars jakpsatweb - javascript - priklady - cookies |
||
Timo Profil * |
#3 · Zasláno: 27. 3. 2007, 16:01:41
peta: díky, to by snad mohlo stačit. Prostuduju a vyzkouším
|
||
Timo Profil * |
#4 · Zasláno: 27. 3. 2007, 16:34:58
tak na to koukám a nejsem z toho příliš moudrý.. JS není moje silná stránka.
gethttpvars určitě používat nechci a ty JS cookies mi nejsou moc jasné... Kdyby mě někdo trochu nakopl, byl bych vděčný :) |
||
one_k Profil |
#5 · Zasláno: 27. 3. 2007, 16:39:53
Timo
ulozis do Cookie hodnotu a pak ji na kazde strance z cookie prectes.. |
||
Yrrah Profil |
#6 · Zasláno: 27. 3. 2007, 19:47:12
Tak to prostě posílej jako parametr URL, když nechceš používat cookie.
|
||
Timo Profil * |
#7 · Zasláno: 27. 3. 2007, 23:54:35
Yrrah: právě bych radši používal cookie... Akorát si to musím někde nastudovat, tady z těch příkladů jsem moc nepobral a na netu jsem zatím taky nic moc nenašel. Hodil by se nějaký menší vzor, kdyby se tu našel nějaký JS guru ;)
|
||
peta Profil |
#8 · Zasláno: 28. 3. 2007, 09:44:50
Timo
www.volny.cz/peter.mlich pouzivam to na zmenu stylu. Proste zavolas funkci cookies, ktera ti do promenne da vysledek. a = funkceCookies("nazev"); a jde tam proste ukladat textovy retezec. Povolene znaky jsou viz nejaka literatura. =; se myslim pouzivaji jako oddelovace. Cili, kdyz chces ulozit vicerozmerne pole, tak pouzijes nejaky pole.join(",") podle znaku treba carka, ktery se nepouziva jako oddelovat ani pro hodnoty. Ale s temi delicimi zneky si ted nejsem jist, prostuduj script. V pripade toho skinu tam ukladam jen cookies["petova stranka"] = "skin = mujskin;"; Mozna by to slo takto napsat, to jen jako priklad. Ze mam cookies pojmenovane "petova stranka" a obsahuje retezec "skin = mujskin;", pripadne nejake udaje o casu smazani cookies atd |
||
Timo Profil * |
#9 · Zasláno: 29. 3. 2007, 04:09:42
Tak už nevím... javascript není opravdu moje silná stránka (kdybch to řešil přes php - což je nesmysl - tak bych přesně věděl, jak na to), tady už několik hodin zkouším různé finty, co jsem vyčetl na netu a bez výsledku. Buď mi přestane zobrazování fungovat úplně, nebo cookies nefungují a menu se vždy sroluje zase zpátky... Abych uvedl celý kód, tak tohle je, dejme tomu, ono zobrazované/skrývané menu:
Nad tím samozřejmě JS script, který skrývání/odkrývání umožňuje (v prvním příspěvku).. A teď, jak do toho zakomponovat ty cookies.. Už jsem z toho zoufalý a nevím si rady a hlavně, kdybych nemusel, tak to takhle neřeším, ale není zbytí. Stačil by odkaz na web s podobným řešením vyditelným scriptem... Zatím hledám, ale marně :( |
||
Timo Profil * |
#10 · Zasláno: 30. 3. 2007, 13:48:04
Tak si k tomu stačilo sednout v rozumnou dobu a ihned jsem přišel na řešení... Až jsem se trošku zastyděl, že mě to nenapadlo hned :D
Takže: přes javascript uložím při kliknutí cookie, který pak ověřím na stránce přes php.. A je vyhráno :) Celé to vypadá takhle: javascript
a na stránce jsem jen přidal ověření cookies místo display: none:
A funguje to... No jo, to je to bastlení po nocívh, poprípadě v ranních hodinách... |
||
peta Profil |
#11 · Zasláno: 1. 4. 2007, 09:24:46
Timo
ano, i tak to jde. Jen ty cookies se pak stale odesilaji, kdyz se maji zpracovavat pres php. |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0