Probleme mit FireFox
Winch
- javascript
0 JürgenB0 Jens Müller0 tk0 JürgenB0 Metalgurke0 Metalgurke0 Winch
0 Der Martin0 molily0 Der Martin0 molily
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
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.
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
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
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
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
sry, die Antwort ist natürlich für Winch gedacht nicht für den Jürgen. :)
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 !
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
ü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
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
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