Beste tweakers,
Op dit moment ben ik bezig met het vervangen van een oud statisch menu in een website, voor een nieuw drop-down JS menu. Daarvoor maak ik dankbaar gebruik van dit script wat ik inmiddels al naar mijn wensen heb aangepast. Het menu draait in een frame, maar dat geeft geen problemen. Links openen netjes in het frame wat ik heb aangegeven en het menu klapt uit over de andere frames. Echter wanneer ik een item in het menu aan klik, blijft deze in deze staat hangen. Je ziet dan dus het eerste level, met het tweede level uitgeklapt en het betreffende item geselecteerd. En na een klik is het natuurlijk de bedoeling dat je alleen maar het eerste level ziet. Sorry voor deze waarschijnlijk relatief simpele vraag, maar ik heb echt geen JS kennis. Voor jullie een eitje dus.
Het script roep ik op de volgende manier op in het betreffende frame in de body (alles zoals uitgelegd in de betreffende readme van het script):
menu_com.js stuurt het menu aan, menu_advies.js bevat alle eigen variabelen. En dat ziet er zo uit:
Waar gaat het nu fout? Ik kon geen variabele vinden die het hele menu na een klik weer 'herstart' als het ware.
En ten tweede. Browsers vragen bij dit menu of ze dit activeX element mogen uitvoeren. Is er een mogelijkheid om dat te omzeilen? De auteur van dit script heeft dat namelijk wel voor elkaar gekregen, zie hier. In dit geval wordt er niet gevraagd of het menu geladen mag worden, het gebeurt gewoon.
Alvast hartelijk bedankt voor jullie reacties!
Op dit moment ben ik bezig met het vervangen van een oud statisch menu in een website, voor een nieuw drop-down JS menu. Daarvoor maak ik dankbaar gebruik van dit script wat ik inmiddels al naar mijn wensen heb aangepast. Het menu draait in een frame, maar dat geeft geen problemen. Links openen netjes in het frame wat ik heb aangegeven en het menu klapt uit over de andere frames. Echter wanneer ik een item in het menu aan klik, blijft deze in deze staat hangen. Je ziet dan dus het eerste level, met het tweede level uitgeklapt en het betreffende item geselecteerd. En na een klik is het natuurlijk de bedoeling dat je alleen maar het eerste level ziet. Sorry voor deze waarschijnlijk relatief simpele vraag, maar ik heb echt geen JS kennis. Voor jullie een eitje dus.
Het script roep ik op de volgende manier op in het betreffende frame in de body (alles zoals uitgelegd in de betreffende readme van het script):
JavaScript:
1
2
3
4
| <script type='text/javascript'> function Go(){return}</script> <script type='text/javascript' src='menu_advies.js'></script> <script type='text/javascript' src='menu_com.js'></script> |
menu_com.js stuurt het menu aan, menu_advies.js bevat alle eigen variabelen. En dat ziet er zo uit:
JavaScript:
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
| var NoOffFirstLineMenus=3; // Number of first level items var LowBgColor='#0066FF'; // Background color when mouse is not over var LowSubBgColor='#0066FF'; // Background color when mouse is not over on subs var HighBgColor='#0099FF'; // Background color when mouse is over var HighSubBgColor='#0099FF'; // Background color when mouse is over on subs var FontLowColor='white'; // Font color when mouse is not over var FontSubLowColor='white'; // Font color subs when mouse is not over var FontHighColor='white'; // Font color when mouse is over var FontSubHighColor='white'; // Font color subs when mouse is over var BorderColor='black'; // Border color var BorderSubColor='black'; // Border color for subs var BorderWidth=1; // Border width var BorderBtwnElmnts=1; // Border between elements 1 or 0 var FontFamily="arial,comic sans ms,technical" // Font family menu items var FontSize=9; // Font size menu items var FontBold=1; // Bold menu items 1 or 0 var FontItalic=0; // Italic menu items 1 or 0 var MenuTextCentered='left'; // Item text position 'left', 'center' or 'right' var MenuCentered='left'; // Menu horizontal position 'left', 'center' or 'right' var MenuVerticalCentered='top'; // Menu vertical position 'top', 'middle','bottom' or static var ChildOverlap=.2; // horizontal overlap child/ parent var ChildVerticalOverlap=.2; // vertical overlap child/ parent var StartTop=1; // Menu offset x coordinate var StartLeft=1; // Menu offset y coordinate var VerCorrect=0; // Multiple frames y correction var HorCorrect=0; // Multiple frames x correction var LeftPaddng=3; // Left padding var TopPaddng=2; // Top padding var FirstLineHorizontal=1; // SET TO 1 FOR HORIZONTAL MENU, 0 FOR VERTICAL var MenuFramesVertical=0; // Frames in cols or rows 1 or 0 var DissapearDelay=500; // delay before menu folds in var TakeOverBgColor=1; // Menu frame takes over background color subitem frame var FirstLineFrame='topFrame1'; // Frame where first level appears var SecLineFrame='mainFrame'; // Frame where sub levels appear var DocTargetFrame='mainFrame'; // Frame where target documents appear var TargetLoc=''; // span id for relative positioning var HideTop=0; // Hide first level when loading new document 1 or 0 var MenuWrap=1; // enables/ disables menu wrap 1 or 0 var RightToLeft=0; // enables/ disables right to left unfold 1 or 0 var UnfoldsOnClick=0; // Level 1 unfolds onclick/ onmouseover var WebMasterCheck=0; // menu tree checking on or off 1 or 0 var ShowArrow=1; // Uses arrow gifs when 1 var KeepHilite=1; // Keep selected path highligthed var Arrws=['tri.gif',5,10,'tridown.gif',10,5,'trileft.gif',5,10]; // Arrow source, width and height function BeforeStart(){return} function AfterBuild(){return} function BeforeFirstOpen(){return} function AfterCloseAll(){return} // Menu tree // MenuX=new Array(Text to show, Link, background image (optional), number of sub elements, height, width); // For rollover images set "Text to show" to: "rollover:Image1.jpg:Image2.jpg" Menu1=new Array("Afdichtingstechniek","afd_infra.htm","",2,20,138); Menu1_1=new Array("Instrastructuur","afd_infra.htm","",0,20,140); Menu1_2=new Array("Gebouwen","afd_gebouwen.htm","",0,20,140); Menu2=new Array("Vloertechniek","vlr_vloeistof.htm","",4); Menu2_1=new Array("Vloeistofdicht / PBV","vlr_vloeistof.htm","",0,20,140); Menu2_2=new Array("Stroefheid / Veiligheid","vlr_stroef.htm","",0,20,140); Menu2_3=new Array("Industrie","vlr_industrie.htm","",0,20,140); Menu2_4=new Array("Gietasfalt","vlr_giet.htm","",0,20,140); Menu3=new Array("Slijtlagen","slt_infra.htm","",2); Menu3_1=new Array("Infrastructuur","slt_infra.htm","",0,20,140); Menu3_2=new Array("Gebouwen","slt_gebouwen.htm","",0,20,140); |
Waar gaat het nu fout? Ik kon geen variabele vinden die het hele menu na een klik weer 'herstart' als het ware.
En ten tweede. Browsers vragen bij dit menu of ze dit activeX element mogen uitvoeren. Is er een mogelijkheid om dat te omzeilen? De auteur van dit script heeft dat namelijk wel voor elkaar gekregen, zie hier. In dit geval wordt er niet gevraagd of het menu geladen mag worden, het gebeurt gewoon.
Alvast hartelijk bedankt voor jullie reacties!