Blindfisch, ich!
Aber das ist nicht das Problem, war ja nur eine Skizze.
Na gut, hier mal etwas Code:
///Auszug
function JS_SCROLLBAR()
{
this.index_x;
this.index_y;
this.target;
this.move;
this.init = init;
this.getRealNumber = getRealNumber;
this.dragPointer = dragPointer;
this.startDrag = startDrag;
this.stopDrag = stopDrag;
this.trace = trace;
this.scaleScrollbalken = scaleScrollbalken;
this.dragPointerIE = dragPointerIE;
this.ObjIndex = ObjControl.setObj(this);
}
///Diese Funktion soll bei "onresize" aufgerufen werden
function scaleScrollbalken()
{
alert('running');
}
//wird beim laden einer Seite in dem IFrame aufgerufen
//1. findet den Überlauf einer Seite herraus
//2. entscheided ob der Scrollbalken sichtbar sein muss
//3. passt die Grösse des Scrollbalken an den Überlauf des Dokuments an
//4. setzt die Scrollbalkenposition auf Null, also nach oben
function init(obj, scroller, balken)
{
--------------> window.onresize = this.scaleScrollbalken();
if(this.everSeen != 0 && this.everSeen != 1)
{
if(scroller.style.visibility == 'visible')
{
this.everSeen = 1;
}else{
this.everSeen = 0;
}
}
obj.scrollTo(0,100000);
if(obj.pageYOffset)
{
scroller.style.height = document.all.frame_1.offsetHeight;
this.index_x = obj.pageXOffset;
this.index_y = obj.pageYOffset;
}else{
scroller.style.height = obj.innerHeight;
this.index_y = obj.document.body.scrollTop;
this.index_x = obj.document.body.scrollLeft;
}
obj.scrollTo(0,0);
if(this.index_y == 0 && this.everSeen == 0)
{
scroller.style.visibility = 'hidden';
}else{
scroller.style.visibility = 'visible';
}
if(this.pointer)
{
this.pointer.style.top = 0;
}
tmpHeight = Number(this.getRealNumber(scroller.style.height));
if(navigator.appName == 'Netscape')
{
balken.style.height = (tmpHeight/100)*(tmpHeight/((tmpHeight+this.index_y)/100));
}else{
balken.style.height = (tmpHeight/100)*(tmpHeight/((tmpHeight+(this.index_y-328))/100));
}
}