JavaScript Mouse Cursor

Der Mauszeiger gibt dem Benutzer einen Anhaltspunkt darüber welche Aktionen an einem bestimmten Punkt im Browserfenster möglich sind oder zeigt an, dass das System derzeit mit der Verarbeitung von Informationen beschäftigt ist. Mit Hilfe von JavaScript kann das Erscheinungsbild des Mauscursors über CSS nach Bedarf verändert werden.

Aber auch die Position des Mauscursors läßt sich ermitteln. Dies geschieht über das Event-Objekt. Tritt ein bestimmtes Maus-Event auf, so ist es möglich dieses Event mittels Angabe eines Event-Handlers abzufangen und die Informationen des Event-Object auszulesen. Die Eigenschaften des Event-Objekts geben unter Anderem auch Auskunft über die Position der Maus zum Zeitpunkt des Auftretens des jeweiligen Events.

JavaScript Change Cursor Beispiel 1: Cursor ändern / setzen (set)

Im ersten Beispiel wird der Cursor der Maus durch Anklicken eines Links geändert. Über das Stylesheet des Body-Elements im aktuellen HTML-Dokument wird der angezeigte Mauscursor dokumentenweit auf einen angegebenen Cursor gesetzt. Mit dem onClick-Event wird ein Event-Handler verbunden. Hier wird allerdings keine Event-Handler-Funktion verwendet, sondern lediglich ein einziger JavaScript-Aufruf genutzt. Dieser Aufruf ändert den Mauscursor auf den im Link angegebenen Wert. Das darauf folgende „return false” verhindert, dass die Anzeige an den Seitenanfang springt. Wird die Maus nun an eine Position bewegt, die nicht mit einem Link belegt ist, so wird der ansgewählte Cursor angezeigt.

<a href="#" onclick="document.body.style.cursor = 'wait';return false">Global auf Wait setzen</a><br>
<a href="#" onclick="document.body.style.cursor = 'pointer';return false">Global auf die Hand (pointer) setzen</a><br>
<a href="#" onclick="document.body.style.cursor = 'default';return false">Global auf default setzen</a>

Global auf Wait setzen
Global auf die Hand (pointer) setzen
Global auf default setzen

JavaScript Cursor Beispiel 2: Cursor Hand (pointer)

Das nächste Beispiel setzt den Mauscursor auf 'pointer' (Hand). Hier wird, wenn die Maus in den Anzeigebereich des Banners eintritt, der Mauscursor auf ein Handsymbol gesetzt. Dies vermittelt den Eindruck, dass der Banner anklickbar ist.

<img src="pic/banner-partner-a.gif" border="1" onmouseover="this.style.cursor = 'pointer'" />

JavaScript Cursor Beispiel 3: Cursor Wait

Folgendes Beispiel setzt den Mauscursor auf „wait”. Hier wird die Sanduhr angezeigt, die dem Benutzer darauf hinweist, dass das System derzeit beschäftigt ist. Dieser Cursor kann bei einer Ajax-Anwendung auf einen noch nicht abgeschlossenen Verarbeitungsschritt hinweisen.

<img src="pic/banner-partner-b.gif" border="1" onmouseover="this.style.cursor = 'wait'" />

JavaScript Cursor Beispiel 4: Cursor Help

Der im nächsten Beispiel gesetzte Help-Cursor kann genutzt werden, wenn der Benutzer darauf hingewiesen werden soll, dass sich hinter einem Element nähere Informationen zu einem bestimmten Thema befinden. Hier kann beispielsweise, nachdem der Benutzer die Maus auf einem Element verweilen läßt, automatisch ein DIV-Element mit näheren Informationen geöffnet werden.

<img src="pic/banner-partner-c.gif" border="1" onmouseover="this.style.cursor = 'help'" />

JavaScript Cursor Beispiel 5: Cursor Text

Mit dem im nächsten Beispiel eingebauten JavaScript Code kann der Mauscursor in einen Textcursor verwandelt werden.

<img src="pic/banner-partner-a.gif" border="1" onmouseover="this.style.cursor = 'text'" />

JavaScript Cursor Beispiel 6: Cursor Move

Der Move-Cursor kann sinnvoll sein, wenn auf einer Internetseite eine Drag&Drop-Funktion realisiert wurde. Hier kann der Benutzer durch diese vom Betriebssystem her bekannte Variante des Mauscursors sehen, dass er ein Element im HTML-Dokument verschieben kann. Neben dem Move-Cursor existierten weitere Cursor-Varianten, die beim Vergrößern oder Verkleinern von Elementen genutzt werden können (n-resize - Pfeil gen Norden, ne-resize - Nord-Ost...).

<img src="pic/banner-partner-b.gif" border="1" onmouseover="this.style.cursor = 'move'" />

JavaScript Cursor Beispiel 7: Cursor Crosshair (Fadenkreuz)

Das Fadenkreuz ist beispielsweise sinnvoll, wenn eine Zeichenfunktion durch entsprechende JavaScript-Funktionen implementiert wurde.

<img src="pic/banner-partner-c.gif" border="1" onmouseover="this.style.cursor = 'crosshair'" />

JavaScript Cursor Beispiel 8: Mausposition ermitteln

Das Beispiel im unteren Code-Block zeigt, wie sich nach einem aufgetretenen Event die Position des Mauszeigers ermitteln lässt. Hierzu wird ein Event-Handler in Form der Function show_position implementiert. Aufgabe dieser Funktion ist es ein die Position der Maus zum Zeitpunkt des Auftretens eines Events zu ermitteln und in einem Status-Element auszugeben. Verbunden wird dieser Event-Handler mit dem Event onMousemove, das immer dann auftritt, wenn der Mauszeiger bewegt wird. Damit auf dieses Event überall im aktuellen HTML-Dokument reagiert wird, muss der Event-Handler dem Body-Tag des HTML-Dokuments zugeordnet werden.

Die Variable out dient der Speicherung einer Meldung, die im dazu definierten Ausgabeelement (SPAN mit der id info) am Ende der Funktion ausgegeben wird. Diese Meldung, die in Form eines Strings zusammengestellt wird, enthält die X- und die Y-Position des Mauscursors – diese Daten wurden zuvor über die Event-Eigenschaften abgefragt und in den Variablen x und y zwischengespeichert. Mit der Methode getElementById() wird ein Verweis auf das Ausgabeelement ermittelt. Dies geschieht mittels der id des Elements, die im HTML-Code in der ID-Eigenschaft des SPAN-Tags angegeben wird.

<span id="info">Bitte bewegen Sie die Maus, damt die Position ermittelt werden kann!</span>
<script language="javascript" type="text/javascript">
<!-- // JavaScript-Bereich für ältere Browser auskommentieren
// Event-Handler-Funktion, welche die Position des Mauscursors
// zum Zeitpunkt des Auftretens eines Events ermittelt und in
// einem Spanelement ausgibt
function show_position (event) {
  // X- und Y-Position des Mauscursors in Abhängigkeit des
  // Browsers ermitteln
  var x = document.all ? event.offsetX : event.pageX;
  var y = document.all ? event.offsetY : event.pageY;
  // Ausgabemeldung zusammenstellen
  var out = 'Mausposition: ' + x + ', ' + y;
  // Ausgabe im dafür vorgesehenen SPAN-Element
  document.getElementById ('info').firstChild.data = out;
}

// Event-Handler für das onMousemove-Event des Body-Tags
// festlegen
document.body.onmousemove = show_position;
// -->
</script>

Bitte bewegen Sie die Maus, damt die Position ermittelt werden kann!

Letzte Posts aus unserem Forum

Script Schrift vergrößern

Hallo wollte gerade das Script für die Schriftvergrößerung testen, aber irgendwie bekomme ich das nicht hin. Habe eine Joomla Website und dort die ... » mehr

von Gast am Donnerstag, 22. April 2010 13:32 in JavaScript - bisher 1 Antwort
Letzter Beitrag: Donnerstag, 22. April 2010 18:05 von alm

Hallo, damit kann man nicht allzu viel anfangen. Soviel ich weiss kann es zuweilen Probleme mit Tabellen-Layouts geben. Dort werden die ... » mehr

Javascript Schriftengröße: Problem bei URL-Übergabe im IE8

Hallo, ich hab eben das Javascript zur Schriftengröße eingebaut, klappt auch wunderbar auf Firefox, aber der IE 8 hat folgendes Problem: - wenn ich ... » mehr

von horst1234 am Dienstag, 23. Februar 2010 13:06 in JavaScript - bisher 1 Antwort
Letzter Beitrag: Dienstag, 23. Februar 2010 14:07 von horst1234

Ich hab das charset im Header geändert (wie in der beispiel.html), und schon klappt es ... » mehr

Dynamisches einfügen von Zeilen in eine Spalte

Hallo, ich möchte gerne eine Zeile zwischen zwei andere Zeilen einfügen. Leider klappt folgender Versuch noch nicht so richtig. Vielleicht kann mir ... » mehr

von Bluecaspar am Mittwoch, 10. Februar 2010 18:09 in JavaScript - bisher 2 Antworten
Letzter Beitrag: Donnerstag, 11. Februar 2010 10:37 von Bluecaspar

Ja genau, das war der Fehler. Vielen Dank Alex. Hier der korrigierte Code: <html> <head> <title> Test ... » mehr

Fenster in Frame erzeugen

Hallo, ich würde gerne ein Fenster in einer Webseite erzeugen. Das Fenster sollte dabei auf ein Frame begrenzt sein, sich also nicht aus diesen ... » mehr

von Bluecaspar am Dienstag, 9. Februar 2010 13:57 in JavaScript - bisher 2 Antworten
Letzter Beitrag: Mittwoch, 10. Februar 2010 09:32 von Bluecaspar

Ja hervorragend, dass ist genau das was ich möchte. Danke ... » mehr

Problem: Kombination mit Lightbox 2

Hallo, ich bin gerade dabei die Galerie mit der Lightbox 2 zu verknüpfen, da ich die Bilder im Vollformat gerne in diesem schicken aufpoppenden ... » mehr

von GoPeter am Montag, 16. November 2009 23:38 in JavaScript - bisher 16 Antworten
Letzter Beitrag: Mittwoch, 18. November 2009 00:32 von GoPeter

Soo...hat lange gedauert...aber jetzt ist es endlich ... » mehr



¬ Insolvenzrecht