Muhammed Bhikha
Muhammed Bhikha

Reputation: 4999

Jquery Scroll One pixel from where ever the user is on screen

okay heres the scenario. I have a one page website with may sections using anchor links. Whe the user is on a secondary layout (page) and when they click on to go to a section on the main page again, for some reason the graphics dont load properly until a scroll happens. All I want to do is whenever the main layout is loaded, no matter which anchor it loads to, simply scroll the page up or down by 1 pixel.

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

I tried the above, but this code simply takes the user 100 pixels from the top. I don't want that to happen, i.e. not from the top but from where ever the user is on screen.

Upvotes: 20

Views: 35580

Answers (4)

Bjørn Stenfeldt
Bjørn Stenfeldt

Reputation: 1602

I have a similar problem. I want to scroll down 1 pixel and then 1 pixel up, so the user hopefully won't notice anything at all. I did this:

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

UPDATE: But I might end up using JQuery instead. All I want is the scroll event to fire and I can do that with:

$(window).scroll();

Upvotes: 9

Laura Chesches
Laura Chesches

Reputation: 2583

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

Upvotes: 2

Chris
Chris

Reputation: 26888

A pure JavaScript solution without the jQuery overhead:

window.scrollY += 100;

With jQuery (and a fancy animation):

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

Upvotes: 4

Justin McDonald
Justin McDonald

Reputation: 2166

use jquery scrollTop() to set the scroll position to the current scroll position + 1:

$(window).scrollTop($(window).scrollTop()+1);

Upvotes: 39

Related Questions