variablenübergabe per url - sehr komische sproblem

bn

Erfahrenes Mitglied
hallo allerseits,

ich refreshe eine seite xyz alle 60 sekunden und möchte das der scrollbalken an der selben stelle landet, wie vor dem refresh.
dazu ich übergebe per url die position (document.body.scrollTop, document.body.scrollLeft) des scrollbalkens und bekomme sie auch ausgelesen. bis dahin ist alles kein problem.
wenn ich nun allerdings mit der funktion scrollTo() und entsprechend den ausgelesenen parametern arbeite, wird nicht gescrollt, obwohl ich in einem test-alert einen wert > 0 übergeben bekomme.
wenn ich hingegen anstatt document.body.scrollTop und document.body.scrollLeft mit statischen werten arbeite, dann scrollt er.
woran liegt das?

hier mal der code:
PHP:
<script language="javascript" type="text/javascript">
<!--
function reload()
{
	var a = document.body.scrollTop;
	var b = document.body.scrollLeft;
	var url = "?x="+a+"&y="+b;
	//der hier geht nicht obwohl auch ein positiver wert übergeben wird
	window.location.href = url;
	//der hier geht
	//window.location.href = "?x=300&y=600";
}


/* Diese Funktion decodiert die Angaben im Pfad */
var formular = new Array(0);
function decode()
{
	var url   = window.location.search;
    if (url != "")
    {
      	url = url.substring(1,url.length);                      // Die Daten werden aus der
                                                              // Url extrahiert und in
      	liste = url.split("&");                                 // Wertepaare am & getrennen
      	for (i=0;i<=liste.length-1;i++)
       	{
        	temp = liste[i].split("=");                           // Feld und Daten jedes
        	formular.splice(formular.length,2,temp[0],temp[1]);   // Paares werden zerlegt
       	}
      	for (i=0;i<=formular.length-1;i++)
      	{
       		formular[i] = formular[i].replace(/\+/g," ");
          	// Ersetzen des + durch Blank
       		formular[i] = unescape(formular[i]);                   // Escapesequenzen rekonstruieren
      	}
     }
}
window.setTimeout("reload()",3000);


function scroll()
{
	decode();
	var x = formular[1];
	var y = formular[3];
	alert(+x);
	window.scrollTo(x,y);
}
window.onload=scroll 
//-->
</SCRIPT>

danke für eure hilfe.
bloddy
 
Zurück