wende mich aus lauter verzweiflung an euch.
ich bin, was javascript anbetrifft ein völliger analphabet, hab die letzten stunden damit verbracht mir diverse seiten und forumpostings zum thema scrollby, scrollto durchzulesen. kann jedoch eine lösung für mein problem weder finden noch irgendwie aus dem gelesenem herleiten.
folgendes problem:
ich möchte mittels eines klicks auf einen navigationspunkt an des rechte ende meines dokuments kommen, da die seite nicht von oben nach unten, sondern von links nach rechts gescrollt wird.
so weit so gut. man könnte das mittels eines ankers erledigen, das ist mir klar, jedoch springt die seite dann unschön bis an das ende.
lieber würde ich es mittels scrollby machen, damit das ganze schön nach rechts gleitet.
hab auch schon ne menge threads zu diesen thema gefunden, jedoch, so weit ich es verstanden habe, benutzen alle scripts die funktion pageXoffset bzw pageYoffset, die ja berechnet um wieviele pixel man jeweils schon gescrollt hat und einen dann an die anfangsposition 0/0.bringt. da aber in meiem fall ja gar nicht gescrollt wurde und dann zurück will, sondern genau das gegenteil der fall sein soll, bin ich ratlos wie ich das script umschreiben soll.
theoretisch müsste der code umschrieben so lauten:
on click
wenn die gesamte dokumentenbreite(document.body.scrollwidth?) > als die fensterbreite/bildschirm(self.innerWidth?) ist,
dann scroll automatisch zum ende des dokumentes (scrollby (x:y)
tja so weit die theorie, nur leider habe ich keinen blassen schimmer, wie ich das in einen script verpacken soll.
ich hoffe ihr könnt mir weiterhelfen.
danke
das ist mein versuch das zumindest wieder zurück an den anfangspunkt gescrollt wird, alle anderen scripte die ich mir zusammengesponnen habe funktionierten nicht.
<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
for (var i = 1; i <= 500; i++)
document.write("Zeile " + i);
function NachOben () {
var x = 0;
if (window.pageXOffset) {
x = window.pageXOffset;
}
if (x > 0) {
window.scrollBy(-10, 0);
setTimeout("NachOben()", 10);
}
}
</script>