Winch: Probleme mit FireFox

Hallo,

ich hab ein Skript geschrieben, welches leider nur in IE und Chrome funktioniert, in FireFox tut sich absolut nichts. Ich glaube dies hat irgendwas mit der Übergabe der Div ID an die Funktion zu tun, denn sobald ich für jeden Button eine eigene Funktion schreibe, geht es auch im FireFox. Aber dies ist ja nicht Sinn einer Funktion. Hat jemand eine Idee ?

Hier mal der LINK

Danke

  1. Hallo Winch,

    du kennst die Fehlerkonsole des FF? Die sagt dir, dass z.B. fahrertuer nicht definiert ist. Diese Variable gibt es ja auch nicht. Versuch mal statt dessen die ID als String zu übergeben:

    ... onClick="showFach('fahrertuer');">

    Gruß, Jürgen

    PS: Nette Spielerei, gefällt mir.

  2. Morgen,

    Hier mal der LINK

    Mal zwei Überlegungen am Rande. Erstens, es wäre schön wenn sich die Türen beim click auf das Bild auch öffnen und schließen lassen.
    Zweitens.
    Ersetzt die Buttons beim click  auf die Türen. Also aus [Fahrertür öffnen] wird dann [Fahrertür schließen] usw. :)

    Und übrigens, in Opera funktioniert es.

    gruesse aus'm ruhrpott
      jens mueller

    --
    As long as a single mind remembers, as long as a single heart
    beats with passion, how can a dream die?
    \//_ Live long and prosper
    sh:( fo:) ch:| rl:° br:^ n4:| ie:% mo:| va:} de:> zu:) fl:( ss:) ls:> js:|
  3. Hallo Winch,

    neben dem was Jürgen schrieb:

    Was genau hast du mit den zwei Zeilen vor:

    document.getElementById(fachnummer);

    fachnummer.style.visibility = "visible";

      
    Du suchst das Element anhand seiner ID über getElementById - aber warum greifst du dann nicht auf das gefundene Element zu um über style eines seiner Eigenschaften zu ändern?  
      
      
    Gruß,  
    Tobias
    
    1. Hallo tk,

      Was genau hast du mit den zwei Zeilen vor:

      document.getElementById(fachnummer);

      fachnummer.style.visibility = "visible";

        
      stimmt, den Fehler habe ich gar nicht gesehen, verstehe aber jetzt, warum es in diversen Browsern funktioniert: Sie legen zu jedem Element mit einer ID automatisch eine Referenz auf dieses Element mit gleichem Namen an.  
        
      Gruß, Jürgen  
      
      
      1. Hallo tk,

        Was genau hast du mit den zwei Zeilen vor:

        document.getElementById(fachnummer);

        fachnummer.style.visibility = "visible";

        
        >   
        > stimmt, den Fehler habe ich gar nicht gesehen, verstehe aber jetzt, warum es in diversen Browsern funktioniert: Sie legen zu jedem Element mit einer ID automatisch eine Referenz auf dieses Element mit gleichem Namen an.  
        >   
        > Gruß, Jürgen  
        >   
          
        Hi Jürgen,  
        mich wundert, dass es überhaupt in einem Browser funktioniert.  
        Mir fallen zwei Fehler auf.  
          
        1\.  
        Das was auch schon Tobias schrieb. Es muss heissen:  
          
        ~~~javascript
        function showFach(fachnummer) {  
        document.getElementById(fachnummer).style.visibility = "visible";  
        }  
          
        function hideFach(fachnummer) {  
        document.getElementById(fachnummer).style.visibility = "hidden";  
        }  
        
        

        2.
        übergibst du beim Funktionsaufruf, eine Variable und keinen String!
        Dein Funktionsaufruf schaut so aus:
        showFach(fahrertuer);

        Das ist in dem Fall aber falsch, du hast vergessen den String in Anführungszeichen zu setzen, sonst denkt Javascript es würde sich um ein Variable namens fahrertuer handeln, und diese existiert nunmal nicht.
        richtig wäre

        showFach("fahrertuer");

        Gruß Metalgurke

        1. sry, die Antwort ist natürlich für Winch gedacht nicht für den Jürgen. :)

          1. Vielen Dank für die Hilfe, jetzt gehts wies soll. Hatte vorher schon eine Mischung aus den jetzigen Lösungsansätzen, aber entweder hab ich dann keine Anführungszeigen beim Funktionsaufruf gemacht, oder hat die beiden Zeilen in der Funktion nicht zusammengeschrieben. Besten Dank !

        2. Hi,

          übergibst du beim Funktionsaufruf, eine Variable und keinen String!

          vom überzähligen Komma, das diesen Satz schwer verständlich macht, mal abgesehen:
          Das ist nicht korrekt formuliert. Es muss heißen:
          Du übergibst beim Funktionsaufruf ein Objekt und keinen String.

          Beides dürfte selbstverständlich auch in Form einer Variablen übergeben werden, wenn es an dieser Stelle korrekt ist.

          Ciao,
           Martin

          --
          F: Was macht ein Offizier, der in der Nase bohrt?
          A: Er holt das Letzte aus sich heraus.
          Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
          1. übergibst du beim Funktionsaufruf, eine Variable und keinen String!

            vom überzähligen Komma, das diesen Satz schwer verständlich macht, mal abgesehen:
            Das ist nicht korrekt formuliert.

            Metalgurke schrieb:

            »2.
            übergibst du beim Funktionsaufruf, eine Variable und keinen String!«

            Es ist offensichtlich, dass das als »Zweitens« gelesen werden soll.

            Mathias

            1. Hallo,

              übergibst du beim Funktionsaufruf, eine Variable und keinen String!
              vom überzähligen Komma, das diesen Satz schwer verständlich macht, mal abgesehen:
              Das ist nicht korrekt formuliert.

              Metalgurke schrieb:
              »2.
              übergibst du beim Funktionsaufruf, eine Variable und keinen String!«
              Es ist offensichtlich, dass das als »Zweitens« gelesen werden soll.

              ja, so habe ich das auch gelesen und verstanden. Was willst du mit deinem Einwand nun sagen?
              Es ändert nichts daran, dass das Komma da nichts zu suchen hat; und auch nicht daran, dass der Ausdruck "Variable" hier nicht exakt das war, worauf es eigentlich ankam.

              Ciao,
               Martin

              --
              Verliebt:    Er spricht, sie lauscht.
              Verlobt:     Sie spricht, er lauscht.
              Verheiratet: Beide sprechen, und die Nachbarn lauschen.
              Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
              1. ja, so habe ich das auch gelesen und verstanden. Was willst du mit deinem Einwand nun sagen?

                Ich dachte, du meinst mit »Formulierung« eben die Form und nicht den Inhalt.

                Dass man in JavaScript keine Variablen übergeben kann, sondern nur deren Werte, sollte offensichtlich sein, weshalb man »den Wert der Variable übergeben« üblicherweise mit »die Variable übergeben« abkürzt.

                Mathias