[javascript] Menu met Body Onload() doet niet wat ik wil

Pagina: 1
Acties:

  • reapher
  • Registratie: Augustus 1999
  • Laatst online: 20-05 23:04
Ik heb al de search gebruikt maar kon geen goed antwoord vinden.

Ik zit met het volgende. Op de site www.bikespirit.nl heb ik een menu gebruikt van iemand anders. Nu word deze menu gemaakt met wat javascript functies, allemaal niet zo spannend. En ik vermoed ook dat het probleem niet aan dit menu ligt

Hij word hij geladen met body onload.

Nu is het probleem dat als een plaatje niet laad, het menu ook niet laad. Omdat deze altijd verschijnt nadat alles geladen is.
Is er een manier om dit wel goed te krijgen, zodat hij in ieder geval voor de plaatjes laad. Of ligt dit aan de menu zelf?

P.S. de html code is nog een mess.

zo word de code geladen
code:
1
<body onload="showMenu('Demo')">


de menu zelf is niet zo interesant lijkt me? Staat ook nog wat opmaakcode in een css script van de menu

[ Voor 13% gewijzigd door reapher op 20-10-2004 21:26 ]

Click hier niet


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Je kan de aanroep voor de functie ook gewoon in je body zetten; bijvoorbeeld vlak voor de </body>:
HTML:
1
2
3
<script type="text/javascript">
  showMenu('Demo');
</script>


Ik doe dat heel veel met scripts hier op het forum, inderdaad doordat de onload vaak pas laat getriggered wordt vanwege het inladen van plaatjes. Op zich is het natuurlijk niet zo heel netjes om je opmaak te mixen met dit soort scriptcalls, maar het is gewoon de enige manier om al met script manipulaties te doen tijdens de renderfase.

[ Voor 1% gewijzigd door crisp op 21-10-2004 08:27 . Reden: tyepevoudt :P ]

Intentionally left blank


  • reapher
  • Registratie: Augustus 1999
  • Laatst online: 20-05 23:04
Ik heb dit even geprobeerd. Maar helaas hij laad niet met die commando :S

Zou het dan toch in code van het menu script liggen? Dat hij alleen laad met onload

Click hier niet


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Als ik gewoon na de addInstance regel de regel showMenu('Demo') plaats doet ie het bij mij. Ik heb het getest.

Edit: en als dat zelfs al werkt dat moet de manier van crisp al helemaal werken :)

[ Voor 32% gewijzigd door André op 20-10-2004 23:42 ]


  • Garyu
  • Registratie: Mei 2003
  • Laatst online: 14:38

Garyu

WW

André schreef op 20 oktober 2004 @ 23:39:
Als ik gewoon na de addInstance regel de regel showMenu('Demo') plaats doet ie het bij mij. Ik heb het getest.

Edit: en als dat zelfs al werkt dat moet de manier van crisp al helemaal werken :)
Inderdaad, alleen wel ff de tyepfout uit crisps code halen ;).

[ Voor 5% gewijzigd door Garyu op 21-10-2004 01:02 ]

It's Difficult to Make Predictions - Especially About the Future


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Garyu schreef op 21 oktober 2004 @ 01:01:
[...]


Inderdaad, alleen wel ff de tyepfout uit crisps code halen ;).
:X ik heb het vermoeden dat hij daar mee getest heeft, en dan werkt het idd niet :D

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

* crisp kan ook niet tyepen :P

Intentionally left blank


  • reapher
  • Registratie: Augustus 1999
  • Laatst online: 20-05 23:04
nee jongens ik weer niet veel van javascript maar dit lukt nog :D

Hierboven stond dat het iemand wel lukt? was dat met dezelfde menu dan?

Want dan is er serieus wat mis met mijn html

Click hier niet


  • reapher
  • Registratie: Augustus 1999
  • Laatst online: 20-05 23:04
Heb toch even me code onder hande genomen maar nog steeds niks. Wel is de code een stuk eenvoudiger.

je kan hem hier oproepen www.bikespirit.nl/test.html

Ik vermoed dat ik ergens een grote blunder bega? maar ik zie het niet.

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
46
47
48
49
50
51
52
53
54
55
56
57
<HTML>
<HEAD>
<TITLE>Bikespirit Website manager CvsCms (c)</TITLE>

<script type="text/javascript" src="html/normal/javascript/image.js"></script>
<script language="javascript">
var setOpacity = 0;
var scriptPath="html/normal/javascript/menu/";
</script>

<script language="javascript" src="html/normal/javascript/menu/menuG5LoaderX.js"></script>
<script language="javascript">
addMenu("Demo", "demo-top");

addLink("demo-top", "Start", "", "index.php?page=main&type=main", "");
addSubMenu("demo-top", "CvsCms", "", "index.php?page=cvscms&type=main", "2");


addLink("2", "Pagina toevoegen", "", "index.php?page=cvscms&type=addpage", "");
addLink("2", "Module Toevoegen", "", "index.php?page=cvscms&type=addmod", "");
addLink("2", "addmenu", "", "index.php?page=cvscms&type=addmenu", "");


endMenu();

addStylePad("pad", "item-offset:-1; offset-top:1;");
addStylePad("padSub", "holder-css:trans; item-offset:-1; offset-top:6; offset-left:-1;");
addStyleItem("itemTop", "css:itemTop itemOff, itemTop itemOn;");
addStyleItem("itemSub", "css:itemSub itemOffSub, itemSub itemOnSub;");
addStyleFont("fontTop", "css:fontTop fontOff, fontTop fontOn;");
addStyleFont("fontSub", "css:fontSub fontOffSub, fontSub fontOnSub;");
addStyleTag("tag", "css:tag tagOff, tag tagOn;");

addStyleMenu("menu", "pad", "itemTop", "fontTop", "", "", "");
addStyleMenu("sub", "padSub", "itemSub", "fontSub", "tag", "", "");

addStyleGroup("group", "menu", "demo-top");
addStyleGroup("group", "sub"
, "2"
, "2"
, "2"

);

addInstance("Demo", "Demo", "position:relative holder; menu-form:bar; align:left; style:group;");
showMenu('Demo');

function buildMenu() { showMenu("Demo"); }

window.onload=buildMenu;
</script>

</HEAD>
<span id="holder">&nbsp;</span></p>

</BODY>
</HTML>

Click hier niet


  • Aram
  • Registratie: Februari 2004
  • Laatst online: 14-08-2025
Het zit niet echt in je html maar het verkeerde gebruik van het script.
Je vergeet een javascript include file op te nemen. Hierdoor krijg je een foutmelding dat een variabele wordt aangesproken die nog niet is declareerd. Zie de voorbelden op de site waar deze menu vandaan komt: http://yxscripts.com/menuG5

Kan je meteen ook de laatste versie downloaden.

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Zo dan:
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
46
<html>
  <head>
    <title>Bikespirit Website manager CvsCms (c)</title>

    <script type="text/javascript" src="html/normal/javascript/image.js"></script>
    <script type="text/javascript">
      var setOpacity = 0;
      var scriptPath="html/normal/javascript/menu/";
    </script>
    <script type="text/javascript" src="html/normal/javascript/menu/menuG5LoaderX.js"></script>

    <script type="text/javascript">
      addMenu("Demo", "demo-top");

      addLink("demo-top", "Start", "", "index.php?page=main&type=main", "");
      addSubMenu("demo-top", "CvsCms", "", "index.php?page=cvscms&type=main", "2");

      addLink("2", "Pagina toevoegen", "", "index.php?page=cvscms&type=addpage", "");
      addLink("2", "Module Toevoegen", "", "index.php?page=cvscms&type=addmod", "");
      addLink("2", "addmenu", "", "index.php?page=cvscms&type=addmenu", "");

      endMenu();

      addStylePad("pad", "item-offset:-1; offset-top:1;");
      addStylePad("padSub", "holder-css:trans; item-offset:-1; offset-top:6; offset-left:-1;");
      addStyleItem("itemTop", "css:itemTop itemOff, itemTop itemOn;");
      addStyleItem("itemSub", "css:itemSub itemOffSub, itemSub itemOnSub;");
      addStyleFont("fontTop", "css:fontTop fontOff, fontTop fontOn;");
      addStyleFont("fontSub", "css:fontSub fontOffSub, fontSub fontOnSub;");
      addStyleTag("tag", "css:tag tagOff, tag tagOn;");

      addStyleMenu("menu", "pad", "itemTop", "fontTop", "", "", "");
      addStyleMenu("sub", "padSub", "itemSub", "fontSub", "tag", "", "");

      addStyleGroup("group", "menu", "demo-top");
      addStyleGroup("group", "sub", "2", "2", "2");

      addInstance("Demo", "Demo", "position:relative holder; menu-form:bar; align:left; style:group;");

      setTimeout("showMenu('Demo')", 1);
    </script>
  </head>
  <body>
    <span id="holder"></span>
  </body>
</html>

Met een timeout van 1 milliseconde werkt ie wel :P

[ Voor 28% gewijzigd door André op 21-10-2004 13:18 ]

Pagina: 1