2013-07-19 3 views
1

Я пытаюсь создать этот эффект, который, когда вы нажимаете кнопку, на странице будет прокручиваться до div и выравнивать нижнюю часть браузера с нижней частью div. Я возился с scrollTop() и offset(), но не получил работу. Есть идеи?Как сделать нижнюю часть браузера прокручивать до нижней части div

+0

какой код у вас есть? – Vector

+0

У меня есть все разделители и все события onclick установлены, все, что мне нужно, это фактическая часть прокрутки. –

ответ

0

Я хотел бы использовать .scrollHeight:

$("#div1").animate({ scrollTop: $("#div1").scrollHeight}, 1000); 

EDITED

Это потому, что вы должны рассчитать высоту и т.д.

var scrollBottom = $(window).scrollTop() + $(window).height(); 
+0

Не работает, прокручивается ВЕРХНИЙ ВЕРСИЮ TOP от div –

3

Вы можете использовать следующий код

var wHeight = $(window).height(); // Height of view port 
var eOffset = $('#elementID').offset().top; // Y-offset of element 
var eHeight = $('#elementID').height(); // Height of element 

$(window).scrollTop(eOffset - wHeight + eHeight); // See below for explanation 

Пояснение

  1. Вы устанавливаете .scrollTop() как у-смещение элемента, который помещает элемент в верхней части окна
  2. Затем вы вычитаете высоту порта представления, который выставляет элемент на экран (чуть ниже)
  3. Затем вы dd высота элемента для выравнивания нижней части порта представления в нижней части браузера
+0

Он не работал совершенно правильно, когда я менял размер экрана, я изменил его на scrollTop (eOffset - wHeight), чтобы убедиться, что он перемещает экран прямо над элементом но это было несколько пробелов далеко. –

+0

Но вам удалось заставить его работать так, как вам хотелось? Если нет, можете ли вы связаться с сайтом? – Steven

+0

Нет, он не работал, я изменил аргументы, чтобы поэкспериментировать с ним, и он не вел себя так, как ожидалось. И я работаю на локальном сайте, поэтому не могу поделиться им:/ –

Смежные вопросы