Layer: Technisch möglich zu überprüfen ob fokussiert?
Philipp Hornung
- javascript
Hintergrund: Ich versuche mir eine Navigationsleiste zu bauen, die über Layer funktioniert. Die folgende Funktion soll überprüfen ob der angezeigt Layer aktiv ist d.h. ob der Anwender mit der Maus auf dem Objekt ist.
Problem: Der Code bildet momentan eine Endlos-Schleife. Ist es möglich mit JavaScript zu überprüfen, ob ein Layer fokussiert wird?
Ich meine damit nicht [...].style.visibility sondern eher etwas in der Art getElementById(...).focus.
Code:
[code start]
function hideLayer(Name)
{
if(document.getElementById(Name).style.visibility == "visible")
{
doNothing();
}
else
{
document.getElementById(Name).style.visibility = "hidden";
}
}
[code end]
Vielen Dank schon im Vorraus
Philipp Hornung
Hi,
Hintergrund: Ich versuche mir eine Navigationsleiste zu bauen, die über Layer funktioniert. Die folgende Funktion soll überprüfen ob der angezeigt Layer aktiv ist d.h. ob der Anwender mit der Maus auf dem Objekt ist.
Mit Layer meinst Du ein div-Element?
Ein div-Element kann m.E. keinen Fokus bekommen...
Dies können nur Elemente, die auf Tastatureingaben reagieren, also Links, Eingabefelder, Selektier-Felder, ...
cu,
Andreas
Mit Layer meinst Du ein div-Element?
Ja!
Ein div-Element kann m.E. keinen Fokus bekommen...
Ich will es nicht fokussieren, sondern nur überprüfen, ob der User mit der Maus auf dem Element ist (soetwas wie onMouseOver).
Ciao!
Philipp
Hi,
Ein div-Element kann m.E. keinen Fokus bekommen...
Ich will es nicht fokussieren,
Lies Deinen Titel durch und was Du im ersten Posting geschrieben hast:
sondern nur überprüfen, ob der User mit der Maus auf dem Element ist (soetwas wie onMouseOver).
Setze bei onmouseover ein flag und lösche es bei onmouseout wieder.
cu,
Andreas
Lies Deinen Titel durch und was Du im ersten Posting geschrieben
hast:
- Layer: Technisch möglich zu überprüfen ob fokussiert?
- Ist es möglich mit JavaScript zu überprüfen, ob ein Layer
fokussiert wird?
Es tut mir leid, sollte ich mich missverständlich ausgedrückt haben! Trotzdem danke ich dir für deine Hilfe!
Ciao
Philipp
Setze bei onmouseover ein flag und lösche es bei onmouseout wieder.
Sorry, wenn ich fragen sollte, aber wie geht das? Ich finde bei der SelfHTML-Suche nichts über "Flag" o.ä.
Wie hast du dir das vorgestellt bzw. was meinst du mit "Flag"!
Ciao
Philipp
hi,
Sorry, wenn ich fragen sollte, aber wie geht das? Ich finde bei der SelfHTML-Suche nichts über "Flag" o.ä.
Wie hast du dir das vorgestellt bzw. was meinst du mit "Flag"!
flags oder schalter werden in der programmierung häufig verwendet, um eigenschaften zu beschreiben, die nur zwischen zwie zuständen wechseln können - boolesche variablen ist hier ein stichwort.
konkret heisst dass, du machst dir einfach ein variable
var mauszeigerueberfeld;
der du je nachdem, ob der zustand nun erfüllt ist oder nicht, den wert true oder false zuweist.
mit if(mauszeigerueberfeld) kannst du dann ganz einfach abfragen, was gerade sache ist.
gruss,
wahsaga
Hi, wahsaga!
Ich verstehe immer noch nicht, wie ich das einbauen soll! Ich weiß ja nicht, wann der Anwender mit der Maus auf dem Layer ist. Deswegen dachte ich, dass das es so eine Art onMouseOver für das geben müsste ...
Ciao
Philipp
Hi,
dann bau doch den onmouseover einfach an das Element:
var obj = document.getElementById("ID");
obj.onmouseover = function()
{
this.isMouseOver = true;
}
obj.onmouseout = function()
{
this.isMouseOver = false;
}
Und dann kannst wenn du das Objekt hast, einfach abfragen, ob die Maus drüber ist, oder nicht:
var obj = document.getElementById("ID");
if(obj.isMouseOver)
{
//maus ist drüber
}
Gruß
Christian