ok heres le scénario. J'ai un site Web d'une page avec des sections de mai en utilisant des liens d'ancrage. Lorsque l'utilisateur se trouve sur une mise en page secondaire (page) et lorsqu'il clique dessus pour revenir à une section de la page principale, les graphiques ne se chargent pas correctement jusqu'à ce qu'un défilement se produise. Tout ce que je veux, c’est que chaque fois que la mise en page principale est chargée, quelle que soit l’ancre à laquelle elle est chargée, faites simplement défiler la page vers le haut ou le bas de 1 pixel.
$.scrollTo({ top: '+=100px', left: '+=0px' }, 800);
J'ai essayé ce qui précède, mais ce code prend simplement l'utilisateur 100 pixels du haut. Je ne veux pas que cela se produise, c’est-à-dire non pas du haut, mais de l’endroit où l’utilisateur est à l’écran.
utilisez jquery scrollTop () pour définir la position de défilement sur la position de défilement actuelle + 1:
$(window).scrollTop($(window).scrollTop()+1);
Une solution JavaScript pure sans la surcharge jQuery:
window.scrollY += 100;
Avec jQuery (et une animation de fantaisie):
var cur = $(window).scrollTop();
$(window).animate({scrollTop: cur + 100});
J'ai le même problème. Je souhaite faire défiler 1 pixel, puis 1 pixel vers le haut, afin que l'utilisateur ne remarque rien du tout. J'ai fait ça:
window.scrollBy(0, 1); // 0 pixels horizontal and 1 pixel down
window.scrollBy(0, -1); // 0 pixels horizontal and 1 pixel up
UPDATE: Mais je pourrais utiliser plutôt JQuery. Tout ce que je veux, c'est l'événement de défilement à déclencher et je peux le faire avec:
$(window).scroll();
$("html, body").animate({scrollTop: ($(window).scrollTop() + 1)});