Ссылка наверх в нижней части браузера, затем в нижнем колонтитуле вверху

Как сделать так, чтобы обратная ссылка скользила вверх в позицию X (нижний колонтитул вверху), когда достигнута нижняя часть окна браузера, т. е. когда пользователь полностью прокрутил страницу вниз?

Прямо сейчас на моей странице есть действующая ссылка «наверх», которая закреплена в нижней части окна. Однако в конце страницы есть нижний колонтитул, и ссылка «наверх» должна оставаться (или замыкаться) в верхней части нижнего колонтитула в конце страницы, а не в нижней части окна браузера.

Скрипт Toplink:

//plugin
jQuery.fn.topLink = function(settings) {
  settings = jQuery.extend({
    min: 1,
    fadeSpeed: 200
  }, settings);
  return this.each(function() {
    //listen for scroll
    var el = $(this);
    el.hide(); //in case the user forgot
    $(window).scroll(function() {
      if($(window).scrollTop() >= settings.min)
      {
        el.fadeIn(settings.fadeSpeed);
      }
      else
      {
        el.fadeOut(settings.fadeSpeed);
      }
    });
  });
};

//usage w/ smoothscroll
$(document).ready(function() {
  //set the link
  $('#top-link').topLink({
    min: 400,
    fadeSpeed: 500

  });
  //smoothscroll
  $('#top-link').click(function(e) {
    e.preventDefault();
    $.scrollTo(0,500);
  });
});

person user1749726    schedule 23.11.2012    source источник


Ответы (1)


Вы можете просто проверить, прокручивал ли пользователь нижнюю страницу следующим образом:

$(window).scroll(function() {           
   if($(window).scrollTop() + $(window).height() == $(document).height()) {
      console.log("bottom reached");
   }            
});

Если достигнуто дно, вы можете установить положение вашей ссылки по своему усмотрению или анимировать ее, чтобы она подпрыгивала немного вверх или что-то в этом роде.

person sladda    schedule 23.11.2012