05. januar 2001 - 12:07Der er
10 kommentarer og 1 løsning
IsObject !?
Findes der en funktion der kan \"fortælle\" mig om f.eks.
document.menuImg99 er et gyldigt object på min side ? Jeg har et loop der løber document.menuImg# igennem og eval()\'er det. Men da antallet af objekter kan variere fra et kald til et andet så ville det være lækkert med noget der kunne checke såjeg kunne skrive f.eks.
for (var index=1;index<=8;index++) {
of hvis den så nåede til #5 og den ikke fandtes ville den break\'e ud.
jumper:> normalt er jeg ligeglad, men det skal virke i NS 4+. Nedenfor er hele min kode i den funktion (activeIndex=0; i toppen af js. fil så den er fin nok)
for (var index=1;index<=5;index++) { if (index==activeIndex) onoff=\"hpil.gif\" else onoff=\"pil0.gif\";
if (n) lay=\"document.menuLayer\"+index+\".document.images.menuImg\"+index+\".src=\'picts/\"+onoff+\"\';\" else lay=\"document.menuImg\"+index+\".src=\'picts/\"+onoff+\"\';\"
eval(lay); }
der kan du bl.a. se hvorfor jeg bruger eval().
PS. Jeg er INGEN mester i JS så det kan sikkert godt være at det kunne laves bedre ;-)
Ahh okie, så ændrer vi bare lidt (jeg ændrede kun på den sidste kode du kom med :)
for (var index=1, onoff, dEl; index<=5; index++){ onoff = (index==activeIndex) ? \"hpil.gif\" : \"pil0.gif\"; dEl = document.layers ? document[\"menuLayer\" + index].document.images : document; if (dEl[\"menuImg\" + index]){ // Hvis f.eks. menuImg5 findes dEl[\"menuImg\" + index].src = \"picts/\" + onoff; } else { break; // Fjern break hvis den bare skal prøve alle } }
Doh! Jeg glemmer altid at teste i NS4 (er ved at være træt af den :). Nå pyt:
for (var index=1, onoff, dEl, d=document; index<=5; index++){ onoff = (index==activeIndex) ? \"hpil.gif\" : \"pil0.gif\"; dEl = d.layers && d[\"menuLayer\" + index] ? d[\"menuLayer\" + index].document.images : d; if (dEl[\"menuImg\" + index]){ // Hvis f.eks. menuImg5 findes dEl[\"menuImg\" + index].src = \"picts/\" + onoff; } else { break; // Fjern break hvis den bare skal prøve alle } }
*S* (ved at være ? - blev jeg allerede inden den kom! *G*)
nu gik NS ned, så jeg kan ikke lige teste,men jeg regner med det er ok .. du lyder som om du ved hvad du snakker om :-)
Synes godt om
Ny brugerNybegynder
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.