Prüfen. ob Variable überhaupt gesetzt ist
Dirk
- javascript
Hallo zusammen,
ich würde gern prüfen, ob eine Variable überhaupt existiert. In PHP gibt es die Funktion "isset" oder "empty". In Javascript krieg ich leider nur ne Fehlermeldung. Hier mal der Code, um zu demonstrieren, was ich mache:
function zeigen(objekt)
{
switch (objekt)
{
case 'veranstaltungen':
window.clearTimeout(veraktiv);
break;
case 'fotos':
window.clearTimeout(fotaktiv);
break;
default:
break;
}
var lokalesobjekt = eval('document.getElementById("'+objekt+'")');
lokalesobjekt.style.visibility = "visible";
switch (objekt)
{
case 'veranstaltungen':
veraktiv = window.setTimeout("einzelnverstecken('veranstaltungen')",2000);
break;
case 'fotos':
fotaktiv = window.setTimeout("einzelnverstecken('fotos')",2000);
break;
default:
break;
}
}
Ich frage also oben ab, ob bereits ein Objekt namens veraktiv gesetzt wurde, falls ja, will ich den Timout für diese Funktion abbrechen. Falls nein, soll nix passieren. Danach wird mein Objekt sichtbar, um anschließend den Timeout wieder neu zu setzen.
Wie gesagt, das einzige, was hier nicht funktioniert, ist, daß veraktiv ja beim erstmaligen Aufruf noch nicht existiert. Kennt jemand ne Lösung?
viele Grüße, Dirk
Hallo Dirk,
ich würde gern prüfen, ob eine Variable überhaupt existiert.
HTH
Jochen
var lokalesobjekt = eval('document.getElementById("'+objekt+'")');
Wozu eval?
var lokalesobjekt = document.getElementById(objekt);
macht genau das gleiche und ist schenller und weniger Fehleranfällig.
lokalesobjekt.style.visibility = "visible";
Ich frage also oben ab, ob bereits ein Objekt namens veraktiv gesetzt wurde, falls ja, will ich den Timout für diese Funktion abbrechen. Falls nein, soll nix passieren. Danach wird mein Objekt sichtbar, um anschließend den Timeout wieder neu zu setzen.
wo fragst du nach ob veraktiv gesetzt wurde?
Wenn es um den clearTimeout geht:
if(veraktiv) window.clearTimeout(veraktiv);
Struppi.
var lokalesobjekt = document.getElementById(objekt);
macht genau das gleiche und ist schenller und weniger Fehleranfällig.
Da scheinst Du recht zu haben. Hab da ewig lange probiert und es so nicht hingekriegt... Danke!
wo fragst du nach ob veraktiv gesetzt wurde?
jo, ich weiß, in dem codeschnipsel stehts nicht
Wenn es um den clearTimeout geht:
if(veraktiv) window.clearTimeout(veraktiv);
Nee, das hab ich auch versucht. Inzwischen hab ich aber window.veraktiv benutzt und schon gings!
Damit sind meine Fragen beantwortet! Vielen Dank für den Tip mit eval!
viele Grüße, Dirk
Wenn es um den clearTimeout geht:
if(veraktiv) window.clearTimeout(veraktiv);
Nee, das hab ich auch versucht. Inzwischen hab ich aber window.veraktiv benutzt und schon gings!
Dann stimmt was mit deinem Code nicht. window ist default (wobei der IE das u.U. anders sieht). evtl. hast du irgendein anderes Objekt mit der Bezeichnung 'veraktiv'.
Struppi.