Objekte als Browserweiche

Es wird zuerst eine Funktion/Klasse angelegt die die Grundbedingungen erfüllt. In diesem Fall speichert sie nur die Koordinaten des Mauszeigers. Danach erstellt man weitere Funktionen in denen man die Grundklasse auf die entsprechenden Browser spezialisieren kann.

// Den Browser prüfen
var IE = (navigator.appName.match(/Microsoft/i));

// Die Grundfunktion
function Mouse() {
	this.x = 0;
	this.y = 0;
}

// Die Erweiterungsfunktion für den Internet Explorer
function MouseIE() {
	this.getPos = function(e) {
		if (!e) var e = window.event;
		this.x = e.clientX + document.body.scrollLeft;
		this.y = e.clientY + document.body.scrollTop;
	}
}

// Die Erweiterungsfunktion für W3C Browser
function MouseW3() {
	this.getPos = function(e) {
		this.x = e.pageX;
		this.y = e.pageY;
	}
}

// Die Grundfunktion auf den aktuellen Browser Spezialisieren
Mouse.prototype = (IE)? new MouseIE():new MouseW3();

// Das Objekt instantiieren
var mouse = new Mouse();

// Mausbewegung überwachen
document.onmousemove = function(e){mouse.getPos(e)};