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:
danke für eure hilfe.
bloddy
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