Problem mit ToolTip Script

Zorck

Erfahrenes Mitglied
Hallo,
ich hab mir aus dem Netz nen ToolTip-Script gesucht und das ein bischen verändert. Ich hab jedoch nicht so viel Ahnung von JavaScript (also nicht haun wenns nicht so schick ist). Soweit klappt ja auch alles.
Jetzt hab ich nur nach einer Weile festgestellt, dass wenn die Seite etwas länger wird (so dass ich scrollen muss), es zu erheblichen Problemen beim IE kommt.
Und zwar wird dann das ToolTip nicht mehr schick rechts unter dem Cursor angezeigt sonder viel weiter höher (teilweise sogar aus dem Bild raus). Ich han nun leider nicht genügend Ahnung von JS das ich das Problem beheben könnte, daher wende ich mich an euch.
Vielleicht lässt sich ja da was machen (beim NS7 klappts ja auch ganz normal ohne Probleme).

Hier nun der Code :
Code:
 <pre id="overDiv" style="position:absolute; display:none;"></pre>
<script language="JavaScript">
<!--
if (typeof offsetx == 'undefined') { var offsetx = 10;}
if (typeof offsety == 'undefined') { var offsety = 10;}

var ns4 = (document.layers)? true:false
var ie4 = document.all
var ns6 = document.getElementById && !document.all

var x = 0;
var y = 0;
var snow = 0;
var sw = 0;
var cnt = 0;
var tr = 1;

        if (ns4) over = document.overDiv
        if (ie4) over = overDiv.style
        if (ns6) over = document.getElementById("overDiv").style
        document.onmousemove = mouseMove
        if (ns4) document.captureEvents(Event.MOUSEMOVE)
function tooltip(title, text, breite)
{

        txt = "<TABLE WIDTH="+breite+" Border=0 cellspacing=0 cellpadding=0 class='subRahmen' style='filter:Alpha(opacity=90, finishopacity=90, style=2); z-index:1; display: block;'><tr bgcolor=#6BBAFF><td bgcolor=#6BBAFF style='color:#FFFFFF'>"+title+"</td></tr><tr><td>"+text+"</td></tr></Table>";
       
        layerWrite(txt);
        disp();
}
function mouseMove(e) {
        if ((ns4) || (ns6)) {x=e.pageX; y=e.pageY}
        if (ie4) {x=event.x; y=event.y}
        if (snow) {
                     moveTo(over,x+offsetx,y+offsety);
                  }
}
function disp() {
        if ( (ns4) || (ie4) || (ns6) ) {
                if (snow == 0)
                {
                        moveTo(over,x+offsetx,y+offsety);
                        showObject(over);
                        snow = 1;
                }
        }
}
function moveTo(obj,xL,yL)
{
        obj.left = xL
        obj.top = yL
}
function showObject(obj) {
        if (ns4) obj.visibility = "show"
        else obj.display = "block"
}
function hideObject(obj) {
        if (ns4) obj.visibility = "hide"
        else obj.display = "none"
}
function layerWrite(txt)
{
        if (ns4) {
                var lyr = document.overDiv.document
                lyr.write(txt)
                lyr.close()
        }
        else if (ns6)
        {
          document.getElementById("overDiv").innerHTML = txt
        }
        else if (ie4) document.all["overDiv"].innerHTML = txt
                if (tr) {  }
}
function nd() {
        if ( cnt >= 1 ) { sw = 0 };
        if ( (ns4) || (ie4) || (ns6) ) {
                if ( sw == 0 ) {
                        snow = 0;
                        hideObject(over);
                } else {
                        cnt++;
                }
        }
}
//--->
</script>
.
.
.
<img src="bild.gif## width="108" height="43" border="0" onMouseOver="tooltip('E Überschrift','Text',200); return true;" onMouseOut="nd(); return true;">

Über jede Hilfe wäre ich dankbar!

Bis dann!
 
Code:
function mouseMove(e) {
        if ((ns4) || (ns6)) {x=e.pageX; y=e.pageY}
        if (ie4) {x=event.x+document.body.scrollLeft; y=event.y+document.body.scrollTop;}
        if (snow) {
                     moveTo(over,x+offsetx,y+offsety);
                  }
}
 

Neue Beiträge

Zurück