Прокрутка, чтобы не прокручиваться до начала элемента

#javascript #jquery #scrollto

#javascript #jquery #scrollto

Вопрос:

Я попытался реализовать функцию scrollTo, но проблема в том, что при прокрутке я хочу, чтобы элемент, до которого я прокручивал, находился в верхней части экрана, а не в середине или где-то еще.

JsFiddle

вот функция js

  $(document).ready(function () {
 $(".scroll").click(function (event) {
     $('html,body').animate({
         scrollTop: $("#footer").offset().top
     }, 500);
 });
  

});

Комментарии:

1. Высота вашей страницы недостаточно высока.

Ответ №1:

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

Добавьте много пробелов в конце страницы, это даст больше места для прокрутки. Когда вы делаете это, ваш код работает просто отлично.

Ответ №2:

Это потому, что ваша страница недостаточно высока. Чтобы создать функцию javascript, которая автоматически делает страницу достаточно высокой (независимо от того, что на ней находится), выполните:

 $("body").height("100%");
$("html").height(($("body").height())   500);
  

смотрите: http://jsfiddle.net/ZNV7G/1 /

Если вы хотите быть более уверенным, вы можете заменить 500 на * 2 , но это будет немного чрезмерно в небольших документах.