Oli: Probleme beim zeitlichen Ablauf eines Javascripts unter Netscape

Liebe Forumler,

leider vermiest mir gerade ein Problem mit unten stehendem JavaScriptCode den Feierabend. Und zwar geht es um eine relative komplexe Bildtauschfunktion: Beim Anklicken eines Navigationsbuttons wird zuerst die Funktion Vorabfrage gestartet, die die eventuell geänderten DefaultWerte wieder herstellen. Da der Code insgesamt relativ umfangreich ist und lediglich im Intranet veröffentlich werden soll, kann man sich das folgende Problem wahrscheinlich schwer vorstellen. Im Explorer scheinen die 3 Aktionen der vorabfrage-Funktion sauber hintereinander abzulaufen, im Navigator jedoch scheinen die Aktionen sich zu blockieren, das gewünschte Ergebnis tritt nicht ein:

Im HTML Code werden die Funktionen wie folgt aufgerufen:

onClick="vorabfrage();navigation_click(1,24,1);navigation_click(9,1,1);navigation_click(17,9,1);navigation_click(18,10,1);navigation_click(24,16,1);navigation_click(27,19,1);abfrage(1)">

Nach der vorabfrage soll also jedes übergebene Bild mit seiner aktiven Kopie (overfeld) ersetzt werden. Im Netscape geschieht jedoch nichts.
Meine Frage ist nun: Gibt es Netscape-typische Probleme mit der Verkettung solcher Aktionen, die man eventuell nur mit Timeouts an den richtigen Stellen beheben kann? Wenn ja, sieht jemand diese richtige Stellen? Ich habe nämlich schon mit Timeouts experimentiert, bin jedoch noch zu keinen brauchbaren Ergebnissen gekommen.

Vielen Dank für eure Hilfe

Gruss

Oliver

function navigation_click (pos,num,nav)
   {
  
  nav=nav-1;

if(nav_button_status[nav] ==0){  
  
   document.images[pos].src = overfeld[num].src;
   merker_einzelbilder[num]=1;
  }else{
   document.images[pos].src = outfeld[num].src;
   merker_einzelbilder[num]=0;
  }    
  
   }

function navigation_rauf (pos,num,nav)
   {
    
          
     document.images[pos].src = overfeld[num].src;  
  
   }

function navigation_runter (pos,num,nav)
   {
  
     nav=nav-1;

if(nav_button_status[nav] ==0){  
      
     document.images[pos].src = outfeld[num].src;
  }
    
   }

function abfrage(nav){

nav=nav-1;

if(nav_button_status[nav] ==0){  
  
   nav_button_status[nav] = 1;
  }else{
   nav_button_status[nav] = 0;
  }
}

function vorabfrage(){

for(i=0;i<=34;i++){          

document.images[i].src = merker[i].src;
}

for(i=0;i<=5;i++){  

nav_button_status[i]=0;
}

for(i=0;i<=34;i++){  

merker_einzelbilder[i]=0;
}
    return true;
}

  1. Hi,

    Im Netscape geschieht jedoch nichts.

    definiere "nichts". Ist der Event-Handler überhaupt für den entsprechenden Tag definiert? Welcher Tag ist es?

    function navigation_click (pos,num,nav)

    [...]

    Leute, bitte laßt doch mal endlich diesen Unsinn, komplette Scripts anzuhängen :-(

    Cheatah

    1. Hallo Chetah,

      Ist der Event-Handler überhaupt für den entsprechenden Tag definiert? Welcher Tag ist es?

      function navigation_click (pos,num,nav)
      [...]

      ich zitiere aus meiner Anfrage:

      onClick="vorabfrage();navigation_click(1,24,1);navigation_click(9,1,1);navigation_click(17,9,1);navigation_click(18,10,1);navigation_click(24,16,1);navigation_click(27,19,1);abfrage(1)">

      Leute, bitte laßt doch mal endlich diesen Unsinn, komplette Scripts anzuhängen :-(

      und noch ein Zitat:

      "Da der Code insgesamt relativ umfangreich ist und lediglich im Intranet veröffentlich werden soll,..."

      Es ist nur ein Bruchteil des Gesamtcodes, der wie ich meine, für das Verständnis des Problems unerläßlich ist.

      Nun aber noch mal zum eigentlichen Problem. "Nichts" steht für tatsächlich "nichts", ergo: ein Klick und "nichts" passiert, während im explorer sämtliche im Codefragment gezeigten Routinen ausgeführt werden.
      Für hilfreiche Hinweise wäre ich sehr dankbar.

      Oli

      1. Hi,

        Ist der Event-Handler überhaupt für den entsprechenden Tag definiert? Welcher Tag ist es?

        ich zitiere aus meiner Anfrage:

        onClick=[...]

        und ich zitiere aus meiner Rückfrage: Welcher Tag? <a href>? <img>? <base>?

        Leute, bitte laßt doch mal endlich diesen Unsinn, komplette Scripts anzuhängen :-(

        Es ist nur ein Bruchteil des Gesamtcodes,

        ...der trotzdem noch um einige Dutzend Zeilen zu lang ist. Wenn solche Megacodes zum Verständnis wichtig sind, in Gottes Namen, gib uns doch einfach 'ne URL!

        Cheatah

  2. Hi Oli,

    versuchs doch mal mit folgendem Timeout im EventHandler:

    onClick="vorabfrage();setTimeout('navigation_click(1,24,1) ;navigation_click(9,1,1);navigation_click(17,9,1);navigation_click(18,10,1);navigation_click(24,16,1);navigation_click(27,19,1);abfrage(1)',1)">

    Damit blockieren sich vorabfrage und navigation_click nicht.

    Grüße

    Oliver