it-swarm.com.de

Jquery Scroll Ein Pixel von dem Ort, an dem sich der Benutzer auf dem Bildschirm befindet

okay, hier ist das Szenario. Ich habe eine einseitige Website mit vielen Abschnitten mit Ankerlinks. Wenn sich der Benutzer in einem sekundären Layout (Seite) befindet und wenn er erneut auf einen Abschnitt auf der Hauptseite wechselt, werden die Grafiken aus irgendeinem Grund nicht ordnungsgemäß geladen, bis ein Bildlauf erfolgt. Alles, was ich tun möchte, ist, wenn das Hauptlayout geladen ist, egal welchen Anker es lädt, einfach die Seite um 1 Pixel nach oben oder unten scrollen.

 $.scrollTo({ top: '+=100px', left: '+=0px' }, 800);

Ich habe das oben ausprobiert, aber dieser Code bringt dem Benutzer einfach 100 Pixel von oben. Ich möchte nicht, dass dies geschieht, d. H. Nicht von oben, sondern von wo auch immer der Benutzer auf dem Bildschirm ist.

17
Muhammed Bhikha

verwenden Sie jquery scrollTop (), um die Bildlaufposition auf die aktuelle Bildlaufposition + 1 zu setzen:

$(window).scrollTop($(window).scrollTop()+1);
32
Justin McDonald

Eine reine JavaScript-Lösung ohne jQuery-Aufwand:

window.scrollY += 100;

Mit jQuery (und einer ausgefallenen Animation):

var cur = $(window).scrollTop();
$(window).animate({scrollTop: cur + 100});
4
Chris

Ich habe ein ähnliches Problem. Ich möchte 1 Pixel nach unten und dann 1 Pixel nach oben scrollen, sodass der Benutzer hoffentlich überhaupt nichts bemerkt. Ich tat dies:

window.scrollBy(0, 1); // 0 pixels horizontal and 1 pixel down
window.scrollBy(0, -1); // 0 pixels horizontal and 1 pixel up

UPDATE: Aber ich könnte stattdessen JQuery verwenden. Alles was ich will ist, dass das Scroll-Ereignis ausgelöst wird, und ich kann das mit:

$(window).scroll();
2
$("html, body").animate({scrollTop: ($(window).scrollTop() + 1)});
1
Laura Chesches