Toon posts:

[JS] Stand meenemen naar volgende pagina*

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik maak gebruik van dit javascript in php:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<script type="text/javascript"> 
<!-- 
function menu_toggle(id) 
{ 
    if( document.getElementById(id).style.display == '') 
   { 
       document.getElementById(id).style.display = 'none'; 
   } 
   else 
   { 
       document.getElementById(id).style.display = ''; 
   } 
   return true; 
} 

--> 
</script> 

<a href="#" onclick="menu_toggle('div55');">open/sluit</a> 
<div id="div55" style="display: menu;"> 
Hier staat mijn hele menu 
</div>

Dit script gebruik ik om bezoekers van mijn forum het menu (aan de linkerkant) tijdelijk dicht te kunnen laten klikken.
Werkt goed maar als men naar een andere pagina van het forum doorklikt word dit script ook weer gereset. Hoe kan ik zorgen dat dit niet gebeurd?
M.a.w. op welke manier kan ik zorgen dat de stand van het menu (open of dicht) meegenomen over de hele website?

Bedankt voor jullie hulp!

Verwijderd

Eeuh cookies.
Sla het even in een cookie op als het menu dichtgeklapt is.

Verwijderd

Topicstarter
Ik zat net in de auto en toen schoot mij hetzelfde te binnen, cookies.
Dan heb ik gelijk het volgende probleem, ik heb geen idee hoe die werken of hoe daarmee om te gaan.

[ Voor 3% gewijzigd door Verwijderd op 28-07-2005 16:35 ]


  • Standeman
  • Registratie: November 2000
  • Laatst online: 04-05 17:54

Standeman

Prutser 1e klasse

Google is altijd je vriend... Take your pick :)

The ships hung in the sky in much the same way that bricks don’t.


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Javascript != Java. Javascript hoort dan ook bij de buren in Webdesign & Graphics zoals prominent in onze FAQ en stickies te lezen valt. ;)

PW>>WG

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Standeman schreef op donderdag 28 juli 2005 @ 16:34:
Google is altijd je vriend... Take your pick :)
Ok, dan moet ik dus dit toevoegen???
code:
1
document.cookie = "#"

# omdat als ik de knop gebruik op de pagina om het menu weg te klikken dit er komt te staan index.php#

Verwijderd

Topicstarter
Vandaag de hele dag besteed om het werken met cookies te leren maar ik zie alleen voorbeelden/tutorials e.d. voor formulieren e.d. niet voor mijn probleem.
Wie helpt mij verder.

[ Voor 7% gewijzigd door Verwijderd op 30-07-2005 20:32 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:46

crisp

Devver

Pixelated

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function GetCookie(sName)
{
    var aCookie = document.cookie.split('; '), i = aCookie.length, aCrumb;
    while (i--)
    {
        aCrumb = aCookie[i].split('=');
        if (sName == aCrumb[0])
            return typeof aCrumb[1] != 'undefined'? unescape(aCrumb[1]) : null;
    }

    return null;
}

function SetCookie(sName, sValue)
{
    document.cookie = sName + '=' + escape(sValue) + '; expires=Fri, 31 Dec 2099 23:59:59 GMT; path=/';
}

hier moet het wel mee lukken lijkt me ;)

Intentionally left blank


Verwijderd

Topicstarter
Met wat hulp heb ik heb er dit van gemaakt maar zonder het gewenste resultaat, zie www.modelautoforum.nl
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<script language="javascript"> 
function GetCookie(sName) 
{ 
    var aCookie = document.cookie.split('; '), i = aCookie.length, aCrumb; 
    while (i--) 
    { 
         aCrumb = aCookie[i].split('='); 
        if (sName == aCrumb[0]) 
            return typeof aCrumb[1] != 'undefined'? unescape(aCrumb[1]) : null; 
    } 

    return null; 
} 

function SetCookie(sName, sValue) 
{ 
    document.cookie = sName + '=' + escape(sValue) + '; expires=Fri, 31 Dec 2099 23:59:59 GMT; path=/'; 
} 
var geef = getCookie('weer'); 
if(geef == 1){ 
document.getElementById('menu').style.display = 'block'; 
}else{ 
document.getElementById('menu').style.display = 'none'; 
} 
function change(value){ 
if(value == 1){ 
document.getElementById('menu').style.display = 'block'; 
}else{ 
document.getElementById('menu').style.display = 'none'; 
} 
setCookie('menu',value); 
} 
</script>

<div id="menu">Hier staat mijn hele menu</div> 
<a href="javascript:change(0);">Verberg</a> || <a href="javascript:change(1);">Weergeef</a>

Verwijderd

Omdat je de stand van je element wijzigt voordat het element op je pagina aanwezig is. Dus even de functie voor het setten van je element na je element plaatsen :)

Verwijderd

Topicstarter
Lijkt dit er meer op? Een vriend heeft hem flink opgeschoond.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<html> 
<head> 
<script language="javascript"> 
function getCookie(sName) 
{ 
    var aCookie = document.cookie.split('; '), i = aCookie.length, aCrumb; 
    while (i--) 
    { 
         aCrumb = aCookie[i].split('='); 
        if (sName == aCrumb[0]) 
            return typeof aCrumb[1] != 'undefined'? unescape(aCrumb[1]) : null; 
    } 
    return null; 
} 

function setCookie(sName, sValue) 
{ 
    document.cookie = sName + '=' + sValue + '; expires=Fri, 31 Dec 2099 23:59:59 GMT; path=/'; 
} 

function change(value){ 
   if(value == 1){ 
      document.getElementById('menu').style.display = 'block'; 
   }else{ 
      document.getElementById('menu').style.display = 'none'; 
   }    
   setCookie('menu',value); 
} 

function menuInitialiseren(){ 
   var geef = getCookie('menu'); 
   if(geef == 1){ 
      document.getElementById('menu').style.display = 'block'; 
   }else{ 
      document.getElementById('menu').style.display = 'none'; 
   } 
} 
</script> 
</head> 
<body onload="javascript:menuInitialiseren();"> 
<a href="#" onclick="javascript:change(0);">Verbergen</a> || <a href="#" onclick="javascript:change(1);">Weergeven</a> 
<br><br> 
<div id="menu">Hier staat mijn hele menu</div><br> 
</body> 
</html>

[ Voor 84% gewijzigd door Verwijderd op 31-07-2005 17:39 ]


  • N0 0B
  • Registratie: Mei 2004
  • Laatst online: 20:16

N0 0B

cxb1=N#

Bij mij werkt hij nu wel dus het lijkt erop dat hij nu goed is ook met browser sluiten en weer openen blijft het menu goed

Won't you break the beats, cause I'm hardcore - Tiga


Verwijderd

Topicstarter
N0 0B schreef op zondag 31 juli 2005 @ 18:11:
Bij mij werkt hij nu wel dus het lijkt erop dat hij nu goed is ook met browser sluiten en weer openen blijft het menu goed
Het is de bedoeling dat bij je nieuwe bezoek het menu altijd verschijnt en dat is nu nog niet zo. Waarom weet ik niet.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:46

crisp

Devver

Pixelated

als er nog geen cookie gezet is geeft getCookie() null terug; je kan dus zoiets doen:
JavaScript:
1
2
3
4
5
6
7
8
function menuInitialiseren(){ 
   var geef = getCookie('menu'); 
   if (geef === null || geef == '1'){ 
      document.getElementById('menu').style.display = 'block'; 
   }else{ 
      document.getElementById('menu').style.display = 'none'; 
   } 
} 

haal overigens dat javascript: weg uit je eventhandlers, dat hoort daar niet...

Intentionally left blank


Verwijderd

Topicstarter
crisp schreef op zondag 31 juli 2005 @ 22:58:
als er nog geen cookie gezet is geeft getCookie() null terug; je kan dus zoiets doen
Ik bedoel eigenlijk bij elk nieuw bezoek, dus na sluiten pagina en als je dan terug komt dat het menu dan zichtbaar is.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:46

crisp

Devver

Pixelated

Geen expiration date meegeven, dan blijft de cookie geldig tot het einde van de sessie

Intentionally left blank


Verwijderd

Topicstarter
crisp schreef op maandag 01 augustus 2005 @ 10:32:
Geen expiration date meegeven, dan blijft de cookie geldig tot het einde van de sessie
Ik heb dit weggehaald en dat werkt goed:
code:
1
expires=Fri, 31 Dec 2099 23:59:59 GMT;


Helaas werkt nu onderstaand script niet meer. Hoe kan ik dat oplossen?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<script language="javascript" type="text/javascript"> 
function resize_images() 
{ 
  for (i = 1; i < document.images.length; i++) 
  { 
    if ( document.images[i].width > 550 ) 
    { 
      document.images[i].width = 550; 
    } 
  } 
} 
</script> 
<body onload="resize_images()">

[ Voor 71% gewijzigd door Verwijderd op 02-08-2005 08:44 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:46

crisp

Devver

Pixelated

collections beginnen bij 0 ;)

[ Voor 7% gewijzigd door crisp op 01-08-2005 23:39 ]

Intentionally left blank


  • André
  • Registratie: Maart 2002
  • Laatst online: 04-05 16:01

André

Analytics dude

En laat dan ook direct <!-- en //--> weg ;)

Verwijderd

Topicstarter
Goed, dan maak ik van i = 1 i = 0.
Maar dan werkt het nog niet samen, want het script waar ik dit topic over begonnen ben neemt de instelling dan niet meer mee naar de volgende pagina.

Verwijderd

Sorry hoor, maar wat heb je ondertussen al zelf uitgeprobeerd. Ik krijg niet het gevoel alsof je er zelf veel tijd in wilt investeren :) Zodra het niet werkt is het "Ja het werk niet .. "

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:46

crisp

Devver

Pixelated

Je moet de 2 functies natuurlijk ook combineren in je onload:
HTML:
1
<body onload="menuInitialiseren();resize_images()">

of
JavaScript:
1
2
3
4
5
6
function pageInit()
{
    menuInitialiseren();
    resize_images();
}
window.onload = pageInit;

hoewel je zou kunnen overwegen om menuInitialiseren() al inline uit te voeren direct na de markup van je menu.

Intentionally left blank


Verwijderd

Topicstarter
crisp schreef op dinsdag 02 augustus 2005 @ 10:38:
Je moet de 2 functies natuurlijk ook combineren in je onload:
Dat werkt beter.
Pagina: 1