Avatar billede normann Nybegynder
05. juni 2001 - 13:16 Der er 5 kommentarer og
1 løsning

Dynamisk opdatering af layer i Netscape

Hejsa,

Jeg kan ikke opdatere teksten i et layer uden  at netscape gaar ned med et brag. Jeg synes ellers at jeg goer det rigtige men naesten hver gang jeg udfoerer funktionen writetolayer gaar netscape ned et variabelt antal sekunder efter funktionen er udfoert korrekt !!?!
Dette er ekstra underligt da jeg benytter samme metode til at opdatere layeret som i funktionen showLayer der goer det uden problemer. Foelgende htmlkode (virker ved cut and paste) illustrerer problemet med layeret speciespath   

Haaber der er nogle som kan hjaelpe..


<HTML>
<BODY>
<script>
var path=\"\";
var visibleLayer=-1;
function writetolayer(lay,txt) {
    document.layers[lay].document.open(); document.layers[lay].document.write(\"<HTML><HEAD><TITLE></TITLE></HEAD><BODY>\"+txt+\"</BODY></HTML>\");
    document.layers[lay].document.close();
}
function shortenPath(id,parentId,name){
  var offset,searchString,newPath;
  //shorten path shown in layer
  searchString=\"shortenPath(\"+id+\",\"+parentId+\",\'\"+name+\"\')\\\">\"+name+\"/</A>\";
  offset=path.lastIndexOf(searchString);
  if (offset !=-1){
    offset= offset+searchString.length;
    newPath=path.slice(0,offset); 
    document[\"layer\"+visibleLayer].visibility = \"hidden\";
    document[\"layer\"+id].visibility = \"visible\";
    writetolayer(\"speciespath\",newPath);
    visibleLayer=id;
  }
}

function showLayer(id,parentId,name){
path=path+\"<A HREF=\\\"java script:shortenPath(\"+id+\",\"+parentId+\",\'\"+name+\"\')\\\">\"+name+\"/</A>\";
  document.layers[\"speciespath\"].document.open();
  document.layers[\"speciespath\"].document.write(\"<HTML><HEAD><TITLE></TITLE></HEAD><BODY>\"+path+\"</BODY></HTML>\");
  document.layers[\"speciespath\"].document.close();
  if (visibleLayer!=-1)
    document[\"layer\"+visibleLayer].visibility = \"hidden\";

  document[\"layer\"+id].visibility = \"visible\";
  visibleLayer = id;
}
</script>

<BODY>

<LAYER id=\"speciespath\" visibility=\"visible\" style=\"position:absolute; left:10px; top:5px; width:250px; height:20px; z-index:1\"></LAYER>
<BR><A HREF=\"java script:showLayer(0,-1,\'\')\">Vis layer 0</A><BR></LAYER>

<LAYER id=layer0 visibility=\"hidden\">
<A HREF=\"java script:showLayer(1,0,\'Mus\');\">Mus</A>
</LAYER>
<LAYER id=layer1 visibility=\"hide\"><A HREF=\"java script:showLayer(3,1,\'organer\');\">organer</A>
<BR><A HREF=\"java script:showLayer(10,1,\'Fod\');\">Fod</A>
<BR></LAYER>

</BODY>
</HTML>
Avatar billede nute Nybegynder
05. juni 2001 - 13:26 #1
hmmm.....det fungerer da faktisk i min NS4.72. Jeg er ikke helt sikker på hva egentlig pointet med scriptet er, men NS kræsjer ikke hos meg...
Avatar billede normann Nybegynder
05. juni 2001 - 14:03 #2
Hmm jeg bruger 4.76 - maaske er der en bug i min NN: men ellers :
Pointen er at det er en menustruktur og den virker fint den ene vej.
Men proev foelgende :

Klik :
vis layer 0
Mus
Organer

Klik nu paa mus igen i det problematiske layer (/mus/organer/)

- gaar din netscape stadig ikke ned ??? (prov evt et par gange - nogle gange gaar det godt i et stykke tid).
Avatar billede nute Nybegynder
05. juni 2001 - 14:07 #3
det fungerer helt fint (med tanke på at NS ikke går ned).
Avatar billede normann Nybegynder
05. juni 2001 - 16:24 #4
Saa er det nok fordi jeg koerer NN4.76 /linux - takker for kommentarerne - jeg har fundet en anden loesning nu - det er nu stadig underligt
Avatar billede nute Nybegynder
05. juni 2001 - 16:25 #5
vel...sånn er teknologien ;-)
Avatar billede normann Nybegynder
19. juni 2001 - 21:10 #6
Svaret her var at lave noget andet
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