Autor | Zpráva | ||
---|---|---|---|
kierenn Profil * |
#1 · Zasláno: 28. 8. 2008, 09:37:12
Dobrý den,
mám dotaz. Vzhledem k tomu, že jsem amatér co se týče javascriptu, řeším tento pro mnohé snad triviální problém. Používám svůj oblíbený javascript http://www.jakpsatweb.cz/javascript/priklady/skryvani-odkryvani.html , ale mám dotaz, jak by šlo udělat, aby při refreshi, javascript o5 neskryl položku, kterou již zobrazil. Stránky mam psané v php, tak mě napadlo to nějak prokombinovat, jako, že by se při refreshi odeslala nějaká proměná v hlavičce nebo tak. Nicméně spoléhám na Vás. Děkuji, velice mi to pomůže! |
||
Paja Profil |
#2 · Zasláno: 28. 8. 2008, 09:40:56
já bych to udělal přes cookies asi, práce s cookies je v javascriptu celkem bezproblémová ..
|
||
kierenn Profil * |
#3 · Zasláno: 28. 8. 2008, 09:43:56
Děkuji za odpověď, zkusím tedy někde zapátrat. Jen bych chtěl poprosit o nějakou názornou ukázečku pokud by to bylo možné.
Předem děkuji |
||
Paja Profil |
#4 · Zasláno: 28. 8. 2008, 09:57:34
|
||
kierenn Profil * |
#5 · Zasláno: 28. 8. 2008, 10:47:20
mám tenhle skript
var state; window.onload=function() { obj=document.getElementById('skryvany'); state=(state==null)?'hide':state; obj.className=state; document.getElementById('setup').onclick=function() { obj.className=(obj.className=='show')?'hide':'show'; state=obj.className; setCookie(); return false; } } function setCookie() { exp=new Date(); plusMonth=exp.getTime()+(60*60*1000); exp.setTime(plusMonth); document.cookie='State='+state+';expires='+exp.toGMTString(); } function readCookie() { if(document.cookie) { state=document.cookie.split('State=')[1]; } } readCookie(); funguje bez problémů, jenže problém toho je, že využívá id a pak k němu přiřazuje class podle toho jestli má být skrytý nebo odkrytý. Je to super, ale má to jeden problém. Když mám na stránce víc takových skrývacích prvků, tak je to dle mého nevyužitelné :( Vzhledem k tomu, že id nesmí být duplicitní. Máte někdo nějaký nápad? |
||
habendorf Profil |
#6 · Zasláno: 28. 8. 2008, 11:31:12
Nedávej tam natvrdo 'skryvany', ale předávej té funkci id elementu jako parametr.
|
||
kierenn Profil * |
#7 · Zasláno: 28. 8. 2008, 11:47:18
to mě taky napadalo, tak sem zkusil udělat tohle
var state; readCookie(); function zobrazSkryj(idecko){ el=document.getElementById(idecko).style; if (state==null){ el.display=(el.display == 'block')?'none':'block'; state=el.display; setCookie();} else{ el.display=state;} return false; } function setCookie() { exp=new Date(); plusMonth=exp.getTime()+(60*60*1000); exp.setTime(plusMonth); document.cookie='State='+state+';expires='+exp.toGMTString(); } function readCookie() { if(document.cookie) { state=document.cookie.split('State=')[1]; } } ale taky se tomu moc nechce, jsem teprve začátečník, tak mi nějak nejde odhalit chybu v CSS pak mam .skryvany{display:none} a v xHTML <a onclick="zobrazSkryj('nejakeid')</a> stejně mi to ale neběhá |
||
peta Profil |
#8 · Zasláno: 28. 8. 2008, 12:57:48
kierenn
jakpsatweb - javascript - priklady napriklad zakazani udalosti, pofiderni zakaz praveho tlacitka Jak to mas napsane, dojde k tomu, ze provede onclik a vyvola href odkazu. Druhak je dobra pomucka javascriptova konzola, ktera zahlasi radek chyby, pokud je programovy kod chybny. FF - nastroje - chybova konzola document.cookie='State='+state+';expires='+exp.toGMTString(); state=document.cookie.split('State=')[1]; cili kdyz si udelas pak alert(state), tak tam mas co? Hadam, ze state = 'blabla;expires=12:34:23 2008'; Coz asi neni to, co jsi tam potreboval. Zkus nacitat cookies scripty, co na ne odkazal Paja na quirksmode. Mozna prostudovat jakpsatweb - javascript - cookies jakpsatweb - javascript - priklady - cookies A tez by hodne resil odkaz na tvou stranku. |
||
Časová prodleva: 16 let
|
0