2015-01-29 3 views
3

Я загружаю контент через ajax в #list, поэтому я вычисляю, сколько ему нужно прокрутить в зависимости от высоты #list, но мне нужно получить 200px меньше. После того, как Ajax закончена, чтобы загрузить я бегу:Как определить, сколько scrollTop?

var pos = jQuery("#list").innerHeight() - 200; 

После вычисляется высота, и я поставил его в вар я делаю

$("body, html").animate({scrollTop: pos}, 1000).offset().top; 

но не претендуя, что 200, и это прокрутка к вершине без этого 200

+0

Какая ценность 'pos'? BTW, если вы проверяете высоту списка, прежде чем добавить его в DOM, это будет 0. –

+0

Я не, я сначала загружаю контент, тогда у меня есть обратный вызов для ajax после его загрузки, поэтому значение pos определено –

+0

Странно ... он работает со скрипкой: [link] (http://jsfiddle.net/gfusaqmr/3/) – Michelangelo

ответ

0

мне не нужно использовать .offset.top() Вопрос был с моим расчетом, сколько мне пришлось прокручивать, я не принимая во внимание высоту заголовка и тот факт, что мне нужно, чтобы удалить высоту последняя строка содержания для моего случая/вкуса. Так было не то, что pos по моему вопросу высота, но гораздо меньше, больше похожа на / 2 из #list

0

Положение прокрутки - это верхняя часть окна браузера. Поэтому, если окно браузера больше 200px, оно просто прокрутит вниз. Вы должны учитывать высоту окна.

, если вы хотите пространство 200px под окном.

var pos = jQuery("#list").innerHeight() - 200 - window.innerHeight; 
if(pos < 0) pos = 0;