Angy: ...das unbekannte Wesen

Beitrag lesen

Hallo, meine Lieben!

Nach langem passiv-dabeisein hier mein erster Auftritt - und dann auch gleich noch mit einer Frage :-(. Ich hoffe, ich stelle mich jetzt nicht zu blöd an.

Stefan Becker hat gestern in einer Antwort auf die Adresse http://one.idontsmoke.co.uk/x/tooltip verwiesen und die darin verwendete Technik vollkommen zu recht als genial bezeichnet. Das Problem: ich dachte zwar, ich kann JS, aber, was da so abläuft an JS-Syntax, das habe ich noch nirgendwo gesehen. Vielleicht ist ja jemand von Euch bereit, einen klärenden Spruch zu hinterlassen.

Damit Ihr nicht rumsuchen müsst, kopiere ich einen relevanten Ausschnitt aus dem Dokument.

Würd mich freuen, was von Euch zu hören und wünsch Euch noch weiter dicke Ostereier!

Angy

...
window.onload = function(e) {
  if(document.createElement) tooltip.d();
}

tooltip = {

t: document.createElement("div"),
  c: null,
  g: false,

m: function(e) {
    if(tooltip.g) {
      x = window.event ? event.clientX + document.body.scrollLeft : e.pageX;
      y = window.event ? event.clientY + document.body.scrollTop  : e.pageY;
      tooltip.a(x,y);
    }
  },

d: function() {
    tooltip.t.setAttribute("id","tooltip");
    document.body.appendChild(tooltip.t);
    a = (document.all) ? document.all : document.getElementsByTagName("*");
    for(var i=0; i<a.length; i++) {
      if(a[i].getAttribute("title")) {
        a[i].setAttribute("text",a[i].getAttribute("title"));
        a[i].removeAttribute("title");
        if(a[i].getAttribute("alt") && a[i].complete) a[i].removeAttribute("alt");
        tooltip.l(a[i],"mouseover",tooltip.s);
        tooltip.l(a[i],"mouseout",tooltip.h);
      } else if(a[i].getAttribute("alt") && a[i].complete) {
        a[i].setAttribute("text",a[i].getAttribute("alt"));
        a[i].removeAttribute("alt");
        tooltip.l(a[i],"mouseover",tooltip.s);
        tooltip.l(a[i],"mouseout",tooltip.h);
      }
    }
    document.onmousemove = tooltip.m;
  },

s: function(e) {
    d = (window.event) ? window.event.srcElement : e.currentTarget;
    tooltip.t.appendChild(document.createTextNode(d.getAttribute("text")));
    tooltip.c = setTimeout("tooltip.t.style.visibility = 'visible';",500);
    tooltip.g = true;
  },

usw. usw.