[Javascript] fout: object vereist in "uitklapmenu"

Pagina: 1
Acties:
  • 965 views sinds 30-01-2008
  • Reageer

  • Theske
  • Registratie: Februari 2003
  • Laatst online: 14-05-2017
Beste mensen,

Ik ben bezig geweest met een "uitklap menu" voor een website. Het gaat allemaal erg goed, alleen toen ik in IE het gele driehoekje zag kropen de rillingen over mn lichaam ;-)

De error gaf aan:
code:
1
2
3
regel: 239
teken: 12
fout: object vereist

De betreffende functie doet het wel gewoon en in FF geeft hij helemaal geen errors erover.

Graag hoor ik van jullie of jullie weten hoe je deze fout kan verhelpen... voor zover ik weet geeft het geen problemen met zich mee, maar het staat niet zo netjes die error.

Alvast bedankt!

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
<script type="text/javascript">
function expandOrCollapse(menu)
{
var ul = menu.nextSibling;
while(ul.tagName != "UL")
{
ul = ul.nextSibling;
if ( ul == null )
return true;
}
if ( ul.style.display == "none"
|| ul.style.display == "" )
ul.style.display = "block";
else
ul.style.display = "none";
return false;
}


startList = function() {
if (document.all&&document.getElementById) {
navRoot = document.getElementById("nav");
for (i=0;  i < navRoot.childNodes.length; i++) {   // [b]regel 239, de tweede i in de regel is teken 12 [/b]
node = navRoot.childNodes[i];
if (node.nodeName=="LI") {
node.onmouseover=function() {
this.className+=" over";
  }
  node.onmouseout=function() {
  this.className=this.className.replace(" over", "");
   }
   }
  }
 }
}
window.onload=startList;

</script>

Proud member of the Cosmic Cows


  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

-

[ Voor 100% gewijzigd door CodeCaster op 23-10-2006 01:10 . Reden: laat maar ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


  • André
  • Registratie: Maart 2002
  • Laatst online: 27-11 10:04

André

Analytics dude

Regel 239 is welke regel in bovenstaand script? Verder maak je gebruik van document.all, dat is al verschrikkelijk verouderd.

  • johanmulder
  • Registratie: Augustus 2002
  • Laatst online: 18-11 21:38

johanmulder

Nederlands Ondertiteld

code:
1
for (i=0;  i < navRoot.childNodes.length; i++)


navRoot.childNodes geeft waarschijnlijk de waarde 'undefined' en dan gaat dus het opvragen van de length ook helemaal fout. Vang dat eerst dus af.

[ Voor 4% gewijzigd door johanmulder op 23-10-2006 08:53 ]

Werkt met: Apple Macbook Pro 16" | Bouwt: Multi-cloud SaaS-oplossingen | Vader | Wereldreiziger | Rijdt: Mercedes GLC


  • Theske
  • Registratie: Februari 2003
  • Laatst online: 14-05-2017
André schreef op maandag 23 oktober 2006 @ 08:33:
Regel 239 is welke regel in bovenstaand script? Verder maak je gebruik van document.all, dat is al verschrikkelijk verouderd.
Als je in de code kijkt zie je wat regel 239 is, het zal wel iets te vroeg zijn geweest voor je ;)
johanmulder schreef op maandag 23 oktober 2006 @ 08:53:
code:
1
for (i=0;  i < navRoot.childNodes.length; i++)


navRoot.childNodes geeft waarschijnlijk de waarde 'undefined' en dan gaat dus het opvragen van de length ook helemaal fout. Vang dat eerst dus af.
Hoe zou je dit dan kunnen afvangen?
Ik ben niet zo'n held met JS, ik heb deze code via een "cursus/artikel" weten te bemachtigen. Ik hoop dat je me hierbij wat meer de goede kant op kan sturen.
Het script doet het dus wel correct, alleen geeft hij deze foutmelding.

Proud member of the Cosmic Cows


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

defensief programmeren:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
if (document.getElementById)
{
  var navRoot = document.getElementById('nav');
  if (navRoot && navRoot.hasChildNodes())
  {
    for (var i=0; i < navRoot.childNodes.length; i++)
    {
      //-- etcetera
    }
  }
}

Intentionally left blank


  • user109731
  • Registratie: Maart 2004
  • Niet online
De betreffende functie doet het wel gewoon en in FF geeft hij helemaal geen errors erover.
Doe gebruikers van andere browsers een lol en verwijder dat 'document.all&&'... Je code word daardoor in firefox niet uitgevoerd, vandaar datie geen errors geeft :)

  • Theske
  • Registratie: Februari 2003
  • Laatst online: 14-05-2017
Mensen, bedankt allemaal voor jullie reactie!

Ik heb het stukje script van crisp gebruik en dat werkt en IE geeft geen errors meer terug!
Ik heb er weer iets van op gestoken, dus de dag is weer leerzaam "begonnen".

Bedankt!

Proud member of the Cosmic Cows


Verwijderd

Ik zit met hetzelfde probleem, maar met deze oplossing lukt het nog altijd niet.
Ik werk ook met een uitklapmenu en een aantal zaken mogen niet weergegeven worden bij sommige profielen. Het lukt allemaal, maar bij de laatste if geeft IE ook een foutboodschap, namelijk ook dat er een object vereist is.
Als ik dezen laatste if weg laat werkt het volledig.

Dit is de code:
HTML:
1
Lap code :S


Ik ben hieraan niet zelf begonnen, maar moet verderwerken op het bestaande. Ik heb al een aantal dingen toegevoegd en een aantal dingen grotendeels kunnen overnemen en voor dit werkte dus alles. Dit laatste heb ik dan ook overgenomen en dus alleen op de 'trcRSalesForecast' geeft hij de foutmelding.

[ Voor 97% gewijzigd door BtM909 op 23-05-2007 16:01 ]


Verwijderd

heel raar, ik het niets veranderd, maar toch werkt het nu wel volledig, opgelost dus

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Modbreak:Post volgende keer dan ook relevante code ipv 500 regels aan code ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.

Pagina: 1