[Js] Fehler: Objekt erwartet

V1tzl1

Lt. Junior Grade
Registriert
Sep. 2004
Beiträge
384
Hi hab gerade ein Problem mit Javascript, bei folgendem Script kommt beim mausover im IE nen Fehler von wegen "Objekt erwartet"

Hier iss das Script
Code:
<script type="text/javascript">
<!--
function action() {
document.Test.visibility = "visible";
}
function actionzwei() {
document.Test.visibility = "hidden";
//-->
</script>
<br>
<br>
<a href=URL onMouseOver=action() onMouseOut=actionzwei()>Test1</a>
<div id="Test" style="visibility:hidden;">
Text
</div>

Geht das auch irgentwie, dass ich diese Aktion für mehrere Layer in einer Funktion benutzen kann?

Schon mal Danke für eure Hilfe
 
Also ich würde document.getElementById benutzen, damit andere Browser auch klarkommen. Und du musst style.visibility ansprechen nicht nur visibility. Also müsste dein Code lauten:

Code:
<script type="text/javascript">
<!--
function action() {
document.getElementById('Test').style.visibility = "visible";
}
function actionzwei() {
document.getElementById('Test').style.visibility = "hidden";
//-->
</script>

Edit:

Zu deiner 2. Frage: du kannst eine Funktion machen und die id als parameter übergeben, und dann überprüfen ob das Element bereits visible oder hidden ist, also z.B:

Code:
function action(id) {
doc = document.getElementById(id);
if (doc.style.visibiliy == "hidden") {
doc.style.visibility = "visible";
}
else {
doc.style.visibility = "hidden";
}
}
 
Zuletzt bearbeitet:
Erstmal danke für deine schnelle hilfe, hab aber zu deiner 2. Antwort noch ne Frage, so wie ich das verstehe, sind dann entweder alle layer sichtbar, oder alle hidden, oder hab ich da nur nen Denkfehler ?
Man könnte auch noch den mouseout handler mit reinehmen, wenn das nötig iss (hab hals von JS nich wirklich nen Plan)
 
nein, es sind nicht alle hidden bzw sichtbar. Du must beim mouseover event die id übergeben.

Code:
<a href="URL" onMouseOver="action('Test')" onMouseOut="action('Test')">Test1</a>
<div id="Test" style="visibility:hidden;">
Text
</div>
 
Jo, erstma sorry, das ich so lange nich geantwortet habe, aber unser Inet inner Schule wollte ma wieder net...

Naja erstmal Danke, hat bei mir zwar noch nich ganz geklapt, aber so hatte ich zumindest den Anfang und wie wir alle wissen, geht probieren über kopieren :D, oder so ähnlich.

Naja jetz klapts perfekt also noch mal vielen Dank
V1tzl1
 
Zurück
Oben