Felix Riesterer: Mauscursor als AJAX-Load-Indicator

Beitrag lesen

Lieber Mathias,

heute bin ich freizügig...

/**  
* Mausverfolger  
*--------------------  
*  
* Dieses Script erzeugt dynamisch ein DIV-Element, welches dem Mauszeiger  
* in einem festgelegten Abstand folgt. Sein HTML-Inhalt kann frei gefüllt werden.  
* Damit lässt es sich als Tooltip, als Infobox oder sonstwie verwenden.  
*  
* erstellt von Felix Riesterer (Felix.Riesterer@gmx.net)  
*/  
  
Mausverfolger = {  
  
 // CSS-ID für das DIV-Element  
 cssID : "mausverfolger",  
  
 // Abweichungen des Verfolgers von der exakten Mausposition  
 dx : 0,  
 dy : 0,  
  
 div : false, // enthält nach der Initialisierung eine Referenz auf das DIV-Element  
  
 init : function () {  
  Mausverfolger.div = document.createElement("div");  
  Mausverfolger.div.id = Mausverfolger.cssID;  
  document.body.insertBefore(Mausverfolger.div, document.body.firstChild);  
  Mausverfolger.div.style.position = "absolute";  
  Mausverfolger.div.style.zIndex = "1000";  
  Mausverfolger.aus(); // vorsorglich ausschalten  
  document.onmousemove = Mausverfolger.verfolgeKoordinaten;  
 },  
  
 verfolgeKoordinaten : function (ereignis) {  
  var pos, IE;  
  
  if (!ereignis) ereignis = window.event;  
  
  pos = { left : ereignis.clientX, top : ereignis.clientY };  
  
  IE = (window.document.compatMode && window.document.compatMode == "CSS1Compat") ?  
   window.document.documentElement : window.document.body || null;  
  
  if (IE) {  
   pos.left += IE.scrollLeft;  
   pos.top +=  IE.scrollTop;  
  }  
  
  Mausverfolger.div.style.left = pos.left + Mausverfolger.dx + "px";  
  Mausverfolger.div.style.top = pos.top + Mausverfolger.dy + "px";  
 },  
  
 // Verfolger sichtbar schalten  
 an : function () {  
  Mausverfolger.div.style.display = "block";  
  return false;  
 },  
  
 // Verfolger unsichtbar schalten  
 aus : function () {  
  Mausverfolger.div.style.display = "none";  
  return false;  
 }  
  
};  
  
Mausverfolger.oldWinOnLoad = window.onload;  
window.onload = function () {  
 if (typeof(Mausverfolger.oldWinOnLoad) == "function")  
  Mausverfolger.oldWinOnLoad();  
 Mausverfolger.init();  
};  

Liebe Grüße aus Ellwangen,

Felix Riesterer.