Оставаться внизу при анимации нижнего колонтитула

#javascript #jquery #html

#javascript #jquery #HTML

Вопрос:

У меня есть footer#footer , который содержит местоположение компании. Когда я загружаю страницу контактов с хэшем #location , javascript прокручивается до нижней части страницы и выполняет обратный вызов для увеличения нижнего колонтитула, поскольку это важный элемент. Как мне увеличить размер нижнего колонтитула, пока страница остается внизу (так что кажется, что нижний колонтитул увеличивает содержимое).

 var hash = window.location.hash;
if (hash=="#location") {
    var scrollpos = $(document).height()-$(window).height() "px"
    $("body,html").delay(200).animate({
        scrollTop: scrollpos
    }, "slow", function() { exfoot() });
}
function exfoot(){
    var $f = $("footer#footer");
    $f.animate({
        height: $f.height()*2
    }, "slow");
}
 

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

1. попробуйте сделать из этого jsfiddle, пожалуйста

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

3. @AndrewPolland, но нормально ли, что спрашивающий сам дает ответ?

4. @PratikJoshi Да, если у спрашивающего есть ответ, тогда хорошо поделиться им, чтобы другие могли извлечь выгоду. Просто включение ответа в вопрос является беспорядочным и запутанным. Поэтому его следует добавить в качестве ответа, чтобы он соответствовал дизайну системы.

5. О, я подумал : => Если аскер знал ответ, почему он спросил 🙂

Ответ №1:

Я добавил это в функцию

 $("html, body").animate({ scrollTop: $(document).height() }, "slow");
 

так это выглядит

 function exfoot(){
    var $f = $("footer#footer");
    $f.animate({
        height: $f.height()*2
    }, "slow");
    $("html, body").animate({ scrollTop: $(document).height() }, "slow");
}
 

Скорость $f.animate и body, html.animate должны быть одинаковыми, поэтому они действуют одновременно.