Struppi: ScrollTop()

Beitrag lesen

Im IE tritt nun folgendes Phänomen auf:
Wenn ich die Zeile <?xml ... herausnehme, enthält die Eigenschaft ScrollTop immer 0. Ich muss erst wieder die Zeile hinzufügen, damit ich das gewünschte Eregebnis sehen kann.

Woran liegt das? Gibt es Workaraouns?

Der IE schaltet mit diesem Element in den Quirksmodus, dann ist der Wert von scrollTop in documentElement nicht mehr gesetzt, sondern in window.body

Jein, in JS schon für das Problem das der IE nicht in den standardmode schaltet soweit ich weiß nicht (die Frage ist aber, warum XHTML?)

Die JS Lösung sieht so aus:

  
function pageOffset(win)  
{  
    if(!win) win = window;  
    var pos = {left:0,top:0};  
  
    if(typeof win.pageXOffset != 'undefined')  
    {  
         // Mozilla/Netscape  
         pos.left = win.pageXOffset;  
         pos.top = win.pageYOffset;  
    }  
    else  
    {  
         var obj = (win.document.compatMode && win.document.compatMode == "CSS1Compat") ?  
         win.document.documentElement : win.document.body || null;  
  
         pos.left = obj.scrollLeft;  
         pos.top = obj.scrollTop;  
    }  
    return pos;  
}

Struppi.