Avatar billede kasper Nybegynder
24. april 2001 - 02:59 Der er 51 kommentarer og
1 løsning

Hvorfor virker dette ikke i NS

Hvorfor virker dette ikke i NS!

numMenus = 5
n=document.layers;
ie=document.all;
if (n) {
visible=\'show\';
hidden=\'hide\'; }
else if (ie) {
visible=\'visible\';
hidden=\'hidden\';}

function vis_lag(menuid){
for(i=1;i<=numMenus;i++)
if (menuid != \"menu\"+i) {
if(n) {
document.layers[menuid].visibility=visible;
tohide = document.layers[\"menu\"+i];}

else if (ie) {
document.all(menuid).style.visibility=visible;
tohide = document.all(\"menu\"+i).style;}
tohide.visibility = hidden;
}}
Avatar billede benzon Praktikant
24. april 2001 - 04:24 #1
NS <--- Er noget lort, der er ikke særlig mange JavaScript koder der virker, der men hvad er dette script til ????

Måske kunne vi jo finde et vis vi viste hvad det er for noget, men jeg vil næsten skyde på der er en fejl et eller andet sted ...
Avatar billede nikolajdu Nybegynder
24. april 2001 - 05:38 #2
Benzon - Du har ret i at der nok er noget galt et sted og at det ville være nemmere med hele koden eller et link. Til gengæld har du ikke ret i at der ikke er mange javaScript koder ikke virker i Netscape. Hvis du kigger på scriptet ovenover, (som i øvrigt forsøger at vise/skjule lag i en menu) er der tjekket for document.all (til IE 4.x og 5) og document.layers (til NS 4.x) - Kasper har altså allerede været opmærksom på at der skal laves forskellelige syntakser. Dog mangler han den nyeste document.getElemenById (til NS 6.0 og IE 5.5).

NS er for mange en umanerlig grim størrelse, men ligegyldigt hvad er det stadig et nødvendigt onde. Man kan ikke lave sider kun til IE.

Kasper - sorry for taking your time

/Nikolaj
Avatar billede benzon Praktikant
24. april 2001 - 05:59 #3
Jeg vil sige at NS syntakserne, er få i forehold til IE, og så vidt jeg hved så kræver NS fler Syntakser end IE...
Avatar billede jakoba Nybegynder
24. april 2001 - 06:34 #4
Prøv dette;

var numMenus = 5;
var n = (document.layers) ? true : false;
var ie = (document.all) ? true : false;
var visible;
var hidden;
if (n) {
  visible=\'show\';
  hidden=\'hide\';
} else if (ie) {
  visible=\'visible\';
  hidden=\'hidden\';
};

function vis_lag(menuid) {
  for (i=1; i<=numMenus; i++) {
    if(n) {
      document.layers[menuid].visibility = (menuid==\"menu\"+i)?visible:hidden;
    } else if (ie) {
      document.all(menuid).style.visibility = (menuid==\"menu\"+i)?visible:hidden;
    }
  }
};

mvh JakobA
Avatar billede jakoba Nybegynder
24. april 2001 - 07:09 #5
kasper >> virkede det virkelig i IE? Jeg ville forvente alle menuer blev gemt.
Avatar billede olebole Juniormester
24. april 2001 - 09:53 #6
benzon >> Du udstiller med al ønskelig tydelighed, du ikke har en hujende fis forstand på, hvad du taler om.
Der er én syntaks i IE og én syntaks i NS...slå ordet op og find ud af, hvad en syntaks er.
Du kan ikke gennemskue script\'et - på trods af, det er ganske simpelt. Det diskvalificerer dig vist til at udtale dig om, hvorvidt JavaScript virker i NS. Det ved du alt for lidt om JavaScript til!
Hvis man kan skrive JavaScript, er det ikke noget problem at få JS til at virke i NS.
/mvh
Avatar billede nute Nybegynder
24. april 2001 - 10:33 #7
olebole >> hehe....så hamrende enig !!
Avatar billede jakoba Nybegynder
24. april 2001 - 13:35 #8
osse enig, men alligevel. Er det ikke slemt nok med snyderne :)
Avatar billede olebole Juniormester
24. april 2001 - 15:32 #9
Hvorfor er det kun snyderne, der skal ha\' én over nakken?  *LooooL*
Avatar billede kasper Nybegynder
24. april 2001 - 15:44 #10
Nå ja  Øhhm, JakobA, dit forslag, var sikkert udmærket (Jeg er squ ikke så skrap til Javascript), men af en eller anden grund er det kun menu5 der vil vises i IE (ver 5.0) og stadig ingen i NS (ver 6.0)

Jeg ved ikke helt hvad det er med snyderne, men det er sikkert rigtigt!

ville det hjælpe med et link, så får i da et her, men jeg skal ikke kunne sige hvorfor, da det jo ikke rigtig ændrer på den aktuelle kode!

http://www.bumbech.dk/cv/
Avatar billede kasper Nybegynder
24. april 2001 - 15:44 #11
Det virker i IE 5.0
Avatar billede kasper Nybegynder
24. april 2001 - 18:31 #12
Er der ingen der kan hjælpe?? (eller er det bare en sløv dag?)
Avatar billede nute Nybegynder
24. april 2001 - 18:36 #13
har du en link til hvor man kan se koden \"in action\" ?
Avatar billede kasper Nybegynder
24. april 2001 - 18:38 #14
Avatar billede nute Nybegynder
24. april 2001 - 18:40 #15
hmm....jeg vil heller si at det fungerer bedre i NS enn i IE...eller er bare mine øyne merkelige ??
Avatar billede kasper Nybegynder
24. april 2001 - 18:43 #16
??

mit svenske er ikke i top (Dvs. jeg forstår ikke helt hvad du siger)

men det virker altså i IE 5.0 og ikke i NS 6.0, som er de 2 browsere jeg har tjekket i!
Avatar billede nikolajdu Nybegynder
24. april 2001 - 18:45 #17
Kasper - Prøv a tjekke mit indlæg af 24/04 2001 05:38:55. Her omtales getElementById til 6.0.

Det virker i øvrigt fint i Netscape 4.73, med undtagelse af at der er repeat på din baggrund. Her skal du nok vælge at nøjes med at indsætte det som alm billede i stedet.
Avatar billede nute Nybegynder
24. april 2001 - 18:50 #18
enig med nikolajdu....for NS6 ville jeg ha skrevet document.getElementById() istedenfor document.all() ...
Avatar billede nikolajdu Nybegynder
24. april 2001 - 18:54 #19
Jeg ville lave noget lignende den her.

numMenus = 5
n=document.layers;
n6=document.getElemenById
ie=document.all;
if (n||n6) {
visible=\'show\';
hidden=\'hide\'; }
else if (ie) {
visible=\'visible\';
hidden=\'hidden\';}

function vis_lag(menuid){
for(i=1;i<=numMenus;i++)
if (menuid != \"menu\"+i) {
if(n) {
document.layers[menuid].visibility=visible;
tohide = document.layers[\"menu\"+i];}

else if (ie) {
document.all(menuid).style.visibility=visible;
tohide = document.all(\"menu\"+i).style;}
tohide.visibility = hidden;
}else {
document.getElementById[menuid].visibility=visible;
document.getElementById.[\"menu+i];
}
}

Har ikke testet det af, men nu har du idéen... *ss*
Avatar billede kasper Nybegynder
24. april 2001 - 18:56 #20
understøtter ns4x også document.getElementById()

eller skal jeg lave koden til det særskilt?
Avatar billede nikolajdu Nybegynder
24. april 2001 - 18:56 #21
For lige at forklare hvorfor vi gerne ville have et link.

Så vi kan se resten af koden. Det kunne være du have glemt en name=\"blabla\" eller noget helt 5.
Avatar billede nute Nybegynder
24. april 2001 - 18:57 #22
det er kun NS6 som understøtter getElementById()
Avatar billede nikolajdu Nybegynder
24. april 2001 - 18:57 #23
Der skulle selvfølgelig have stået.

n6=document.getElementById
Avatar billede kasper Nybegynder
24. april 2001 - 18:57 #24
Du skrev mens jeg skrev:)

hvad med ie5.5 , der skal jeg så lave

ie=document.all;
ie5.5=document.getElementById()

eller hvad?
Avatar billede nikolajdu Nybegynder
24. april 2001 - 18:58 #25
nute. IE 5.5 gør da også?
Avatar billede kasper Nybegynder
24. april 2001 - 18:59 #26
--> Selvfølgelig kunnne det have været noget andet end det jeg postede, men jeg mente at det var der fejlen var, og jeg var rimelig sikker, desuden er scriptet til resten af siden ikke færdig, den er mere eller mindre et resultat af Cut\'n\'paste!
Avatar billede kasper Nybegynder
24. april 2001 - 19:00 #27
mht link!
Avatar billede nute Nybegynder
24. april 2001 - 19:00 #28
nikolajdu >> snakker vi ikke om NS ?? selvfølgelig vet jeg at IE5.5 understøtter det, men IE er jo ikke emne for diskusjon akkurat i dette tilfelle ;)
Avatar billede nikolajdu Nybegynder
24. april 2001 - 19:01 #29
Den virker allerede i IE 5.5 - Så ingen grund til panik her. :-)
Avatar billede nikolajdu Nybegynder
24. april 2001 - 19:02 #30
Nute - Nej, du skrev bare at det KUN var Netscape. Det misforstod jeg sådan at du ikke mente IE 5.5 også gjorde. :-)
Avatar billede nute Nybegynder
24. april 2001 - 19:04 #31
oki....jeg burde ha formulert meg litt tydeligere ;)
Avatar billede kasper Nybegynder
24. april 2001 - 19:06 #32
Prøv at tjekke nu, det er ikke helt optimalt!
Avatar billede kasper Nybegynder
24. april 2001 - 19:07 #33
Avatar billede nikolajdu Nybegynder
24. april 2001 - 19:08 #34
Nej bestemt ikke optimalt - Den virker nemlig stadig ikke

Måske Nute har et forslag. Jeg er nemmelig selv rimeligt ringe i det her Netscape 6.0 sjov...
Avatar billede kasper Nybegynder
24. april 2001 - 19:11 #35
Det virker heller ikke i IE, den snakker om et object der var ventet
Avatar billede nikolajdu Nybegynder
24. april 2001 - 19:14 #36
Det er klart nok. Stod netop og tænkte på det samme, mens jeg lavede kaffe. Du bliver nok nødt til at tjekke hviken browser du bruger og derefter hviken version...
Avatar billede nute Nybegynder
24. april 2001 - 19:15 #37
denne linjen:

document.getElementById.[\"menu+i];

skal være

document.getElementById.[\"menu\"+i];

/nute
Avatar billede nikolajdu Nybegynder
24. april 2001 - 19:18 #38
Damn alle mine slåfejl... *gg*
Avatar billede kasper Nybegynder
24. april 2001 - 19:19 #39
Ok prøv at se nu

\"Og johnny han var li\' ved at bli\' sindsyg!!\"

det virker squ ikk\' der ryger lige 50 points oveni, det lader til at det er en større operation.

sådan som jeg ser det  så brokker den sig nu over mouseover effekten på linket, samtidig med at onclick heller ikke virker!
Avatar billede nute Nybegynder
24. april 2001 - 19:22 #40
hmmm.....prøv denne:

numMenus = 5
n=document.layers;
n6=document.getElementById
ie=document.all;
if (n){
  visible=\'show\';
  hidden=\'hide\';
} else {
  visible=\'visible\';
  hidden=\'hidden\';
}

function vis_lag(menuid){
  for(i=1;i<=numMenus;i++) {
    if (menuid != \"menu\"+i) {
      if(n) {
    document.layers[menuid].visibility=visible;
    tohide = document.layers[\"menu\"+i];
      } else (ie){
    document.all(menuid).style.visibility=visible;
    tohide = document.all(\"menu\"+i).style; 
      }else (n6){
    document.getElementById[menuid].visibility=visible;
    tohide = document.getElementById.[\"menu\"+i];
      }
      tohide.visibility = hidden;
    }
  }
}

/nute
Avatar billede kasper Nybegynder
24. april 2001 - 19:25 #41
nu er der sq en anden fehler!
Avatar billede kasper Nybegynder
24. april 2001 - 19:28 #42
og der skal vel være \";\"

i
n6=document.getElementById

dvs.

n6=document.getElementById;
Avatar billede nute Nybegynder
24. april 2001 - 19:28 #43
sitter og tester litt på min egen maskin....
Avatar billede nute Nybegynder
24. april 2001 - 19:56 #44
dette fungerer hos meg:

numMenus = 5
n=document.layers;
n6=document.getElementById;
ie=document.all;
visible = \"visible\";
hidden  = \"hidden\";
if (n||n6) {
    visible=\'show\';
    hidden=\'hide\';
} else if (ie) {
    visible=\'visible\';
    hidden=\'hidden\';
} else {
    visible=\'visible\';
    hidden=\'hidden\';
}

function vis_lag(menuid){
  for(i=1;i<=numMenus;i++){
    if (menuid != \"menu\"+i) {
      if(n) {
                document.layers[menuid].visibility=\"visible\";
                tohide = document.layers[\"menu\"+i];
                tohide.visibility = \"hidden\";
      } else if (ie) {
                document.all(menuid).style.visibility=\"visible\";
                tohide = document.all(\"menu\"+i).style;
                tohide.style.visibility = \"hidden\";
      } else {
          document.getElementById(menuid).style.visibility=\"visible\";
                tohide = document.getElementById(\"menu\"+i);
                tohide.style.visibility = \"hidden\";
      }
    }
  }
}

/nute
Avatar billede nute Nybegynder
24. april 2001 - 20:01 #45
en liten korreksjon som gjør at den fungerer i IE5, NS4.7 og NS6:

function vis_lag(menuid){
  for(i=1;i<=numMenus;i++){
    if (menuid != \"menu\"+i) {
      if(n) {
                document.layers[menuid].visibility=\"visible\";
                tohide = document.layers[\"menu\"+i];
                tohide.visibility = \"hidden\";
      } else if (ie) {
              //alert(\"1\");
                document.all(menuid).style.visibility=\"visible\";
              //alert(\"2\");
                tohide = document.all(\"menu\"+i).style;
              //alert(\"3\");
                tohide.visibility = \"hidden\";
              //alert(\"4\");
      } else {
          document.getElementById(menuid).style.visibility=\"visible\";
                tohide = document.getElementById(\"menu\"+i);
                tohide.style.visibility = \"hidden\";
      }
    }
  }
}

/nute
Avatar billede nikolajdu Nybegynder
24. april 2001 - 20:03 #46
Den giver toHide= Null eller ikke et objekt :-(

/Nikolaj
Avatar billede nute Nybegynder
24. april 2001 - 20:05 #47
hvilken browser ?? det fungerer faktisk knirkefritt hos meg...i alle browsere...

/nute
Avatar billede nikolajdu Nybegynder
24. april 2001 - 20:11 #48
Jeg postede før dit seneste indlæg. Nu virker det også hos mig :-)
Avatar billede nute Nybegynder
24. april 2001 - 20:17 #49
pyha....det var da godt :-D trodde nesten jeg hadde blitt litt blind :-D
Avatar billede kasper Nybegynder
24. april 2001 - 22:40 #50
That did the trick!

1000 tak for hjælpen!

Hvad synes du egentligt om designet?
Avatar billede nute Nybegynder
25. april 2001 - 10:09 #51
det er litt for \"stort\" (for langt i bredden) og litt spinkelt...men jeg synes den \"meny\"-effekten er gangske fet :)

selv takk...
Avatar billede nikolajdu Nybegynder
25. april 2001 - 10:11 #52
Yes. Ganske nice design: :-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester