stephan: onresize und Firefox

Beitrag lesen

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));
  }
 }