Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „"Smoothes" Scrollen mit Javascript“

ElementZ

Nicht mehr ganz neu hier

Hallo,

ich bin gerade dabei Javascript etwas intensiver zu lernen und stelle mir dabei selbst Aufgaben, bei denen es nur darum geht, die richtige Denkweise dafür zu trainieren.
Ich möchte ein Script basteln, dass egal welche Seite man hat und wie lang sie ist, automatisch erkennt, wohin gescrollt ist und dann "smooth", zumindest so halbwegs (besser als ein sprung), nach oben scrollt.
Dafür habe ich ein eigenes Script gebastelt:
HTML:
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
<script type="text/javascript">
for(i = 0; i <= 100; i++) {
    document.write("ABC<br/>");
}
var wert = null;
var ergebnis = null;
function check() {
    wert = window.pageYOffset;
    ergebnis = wert/100;
    if(window.pageYOffset > 10) {
        var abc = window.setInterval("hochfahren()", 1);
    } else {
        window.scrollTo(0, 0);
    }
}
function hochfahren() {
    if(window.pageYOffset <= 10) {
        window.clearInterval(abc);
    } else {
        var b = "-" + ergebnis;
        window.scrollBy(0, b);
    }
        
}
</script>
</head>

<body>
<a href="javascript:check();">Hoch</a>
</body>
</html>

Mein Problem dabei ist, dass, wenn fertig nach oben gescrollt ist, das script irgendwie noch immer aktiv bleibt, also sobald man herunterscrollt wieder hochgescrollt wird. Eigentlich sollte der Intervall mit clearInterval doch beendet sein, sobald der Stand des Scrollens unter 10 fällt - wird er aber nicht.

Also wie gesagt, das ist alles nur zum Trainingszweck, ich will das nicht einsetzen, aber es würde mich schon interessieren, wie man das lösen kann.
Also, ich würde mich wirklich sehr freuen, wenn mir da jemand oder gerne auch mehrere weiterhelfen könnten :)

Vielen Dank schonmal :)

Lg
ElementZ
 

Duddle

Posting-Frequenz: 14µHz

AW: "Smoothes" Scrollen mit Javascript

Hast du dir mal die Fehlerkonsole angeschaut? Dort solltest du schon Fehler bekommen. Jeder moderne Browser hat sowas eingebaut, aber z.B. für Firefox ist FireBug das non plus ultra.

Der Fehler liegt jedenfalls im falschen Scope einer deiner Variablen. JavaScript folgt da soweit ich weiß den üblichen Regeln.

Ich bleibe gezielt undeutlich, weil du den Fehler mit Konsole und dem Verständnis vom Scope selbst finden kannst. Falls nicht, frag nochmal nach.


Duddle
 

ElementZ

Nicht mehr ganz neu hier

AW: "Smoothes" Scrollen mit Javascript

Ja hallo,
ich war die letzten Wochen im Urlaub, konnte deshalb nicht mehr antworten...
Firebug hab ich mir jetzt wieder heruntergeladen, hat mir in schon sehr vielen Situationen weitergeholfen, bei diesem Script allerdings nicht.
Hab da jetzt noch einmal drüber geguckt, kann den Fehler ehrlich gesagt aber nicht finden. Meine Vermutung lag bei der Variablen b, die war es allerdings nicht, zumindest hat sich nichts geändert, als ich die Variable außerhalb der if-Schleife untergebracht habe. Also globale Variable funktionierte es ebenso wenig, da der Wert Ergebnis ja erst übergeben werden kann, wenn die Funktion ausgeführt wird, vorher steht der Scrollbalken ja bei 0. So dann habe ich b ganz oben global mit null erstmal entstehen lassen und dann später in der Funktion überschrieben, ging genauso wenig...
Weiß da leider nicht wirklich weiter..

Wäre nett, wenn mir jemand auf die Sprünge helfen könnte :)

Danke :)
 

ElementZ

Nicht mehr ganz neu hier

AW: "Smoothes" Scrollen mit Javascript

Oh man,
stimmt, die ist ja dadurch nur in der FUnktion erreichbar und somit ist mein clearInterval nutzlos...
Danke...
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
175.155
Beiträge
2.581.852
Mitglieder
67.221
Neuestes Mitglied
opaklaus
Oben