Avatar billede pblv Nybegynder
15. februar 2006 - 19:39 Der er 3 kommentarer og
1 løsning

Svær opgave med Javascript og cookies

Hejsa,

Jeg kæmper med at lave en side, hvor der er nogle div-elementer, som en bruger kan slå til og fra som han vil.
Det er som sådan ikke det svære - det svære er at lave det så der bliver gemt en cookie / cookien bliver opdateret, hver gang personen lukker / åbner en boks.
Det skal gøres, fordi når man så kommer ind på siden næste gang, så bliver boksene lukket / åbnet alt efter hvordan de endte med at være sidste gang!

Jeg har prøvet EKSTREMT meget nu, men det volder mig store store problemer. Der skal være mere end 20 kasser, så alle indstillingerne skal gemmes i samme cookie.

Kan nogle løse denne pine for mig?

Lidt eksempelkode:

<script type="text/javascript">

function toggle(id)
{
    if (document.getElementById(id).style.display == "none")
    {
        document.getElementById(id).style.display = "block";
    }
    else
    {
        document.getElementById(id).style.display = "none";
    }
}
</script>

<a onclick='toggle(boks1)'>Vis/Skjul</a>
<div id='boks1' style='display: block;'>
    <table width='200' border='0' align='center' cellpadding='0' cellspacing='0'>
        <tr bgcolor='#EEEEEE'>
            <td>
                Boks1               
            </td>
        </tr>
    </table>
</div>
<a onclick='toggle(boks2)'>Vis/Skjul</a>
<div id='boks2' style='display: block;'>
    <table width='200' border='0' align='center' cellpadding='0' cellspacing='0'>
        <tr bgcolor='#EEEEEE'>
            <td>
                Boks2               
            </td>
        </tr>
    </table>
</div>
<a onclick='toggle(boks3)'>Vis/Skjul</a>
<div id='boks3' style='display: block;'>
    <table width='200' border='0' align='center' cellpadding='0' cellspacing='0'>
        <tr bgcolor='#EEEEEE'>
            <td>
                Boks3               
            </td>
        </tr>
    </table>
</div>
Avatar billede mclemens Nybegynder
07. marts 2006 - 00:55 #1
Sådan her ?
Øg selv flere boxes (ikke begrænset antal) ;)
- De skal bare være fortløbende nr. med id=boksnr og toggle(nr) øgende


<html><head>
<script type="text/javascript">

cookiedage=1;

function initcook(){if(document.cookie){
boxr=document.cookie.replace("name=","");boxrs=boxr.split(",");
boksa=0;while(document.getElementById("boks"+boxrs[boksa])){
  document.getElementById("boks"+boxrs[boksa]).style.display="none";boksa++;}}}

function toggle(id){
if(document.getElementById("boks"+id)){
  if(document.getElementById("boks"+id).style.display=="none")
  {document.getElementById("boks"+id).style.display="block";}
  else{document.getElementById("boks"+id).style.display="none";}
}
tekst="";boksa=1;while(document.getElementById("boks"+boksa)){
  if(document.getElementById("boks"+boksa).style.display=="none"){
  if(tekst!="")tekst=tekst+","+boksa;else tekst=boksa;}boksa++;}
document.getElementById("cookiecontent").innerHTML=tekst;
datenu=new Date();datenu.setTime(datenu.getTime()+1000*60*60*24*cookiedage);
document.cookie="name="+document.getElementById("cookiecontent").innerHTML+";expires="+datenu.toGMTString();
}
</script></head>

<body onLoad="initcook();">

<div id="cookiecontent" style="display:none;"></div>

<a onclick='toggle(1)'>Vis/Skjul</a><br />
<div id='boks1' style='display: block;'>
    <table width='200' border='0' align='center' cellpadding='0' cellspacing='0'>
        <tr bgcolor='#EEEEEE'>
            <td>
                Boks1             
            </td>
        </tr>
    </table>
</div>

<a onclick='toggle(2)'>Vis/Skjul</a><br />
<div id='boks2' style='display: block;'>
    <table width='200' border='0' align='center' cellpadding='0' cellspacing='0'>
        <tr bgcolor='#EEEEEE'>
            <td>
                Boks2             
            </td>
        </tr>
    </table>
</div>
</body></html>

<a onclick='toggle(3)'>Vis/Skjul</a><br />
<div id='boks3' style='display: block;'>
    <table width='200' border='0' align='center' cellpadding='0' cellspacing='0'>
        <tr bgcolor='#EEEEEE'>
            <td>
                Boks3             
            </td>
        </tr>
    </table>
</div>

</body></html>
Avatar billede mclemens Nybegynder
03. juni 2006 - 22:10 #2
...?
Avatar billede pblv Nybegynder
03. juni 2006 - 22:25 #3
tak!
Avatar billede mclemens Nybegynder
03. juni 2006 - 22:36 #4
- super, og tak for point :)
( p.s.: jeg får heller ingen mails :/ )
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester