Здравствуйте.
Есть обычная разметка сайта, с обычными блоками.
Ниже есть блок с атрибутом: height: 100%
.block-1 { background: green; }
.block-2 { background: yellow; }
.block-3 { background: blue; }
.block-1, .block-2, .block-3, .footer {
color: #fff;
padding: 10px;
}
.footer {
background: red;
height: 100%;
}
<div class="block-1">Блок 1</div>
<div class="block-2">Блок 2</div>
<div class="block-3">Блок 3</div>
<div class="footer">
Блок с высотой 100%
</div>
Вопрос: Каким образом сделать чтобы когда пользователь пролистал все содержимое блоков 1 - 2 - 3, как только дошел до низа последнего блока (block-3). и если он еще начал листать ниже, его плавно перекидывает на блок footer с высотой 100%.
Буду благодарен за информацию.
Думаю, что правильно понял... Скажу сразу, что тут пример не работает, не знаю почему, можно его скопировать запустить на компе будет работать. можно еще добавить плавности подъема P.S. Кстати в codepen тоже не работает...
/* захватываем элемент footer*/
var footer = document.querySelector('.footer');
window.onscroll = function() {
/**/
/*динамический во время скрола получаем его координаты*/
var footerCor = footer.getBoundingClientRect().top;
/*динамический во время скрола получаем height body*/
var doc = document.body.getBoundingClientRect().height;
var cor = footerCor - doc;
/* и тут условие, когда footer появляется в зоне видимости экрана */
if (cor <= 0 && cor >= -100) {
/*срабатыевает событие scrollIntoView(top) для footer*/
footer.scrollIntoView(top);
}
}
* {
margin: 0;
padding: 0;
}
html,
body {
width: 100%;
height: 100%;
background: #272727;
}
.block-1 {
background: green;
}
.block-2 {
background: yellow;
}
.block-3 {
background: blue;
}
.block-1,
.block-2,
.block-3,
.footer {
color: #fff;
padding: 10px;
}
.block-3 {
height: 120%;
}
.footer {
background: red;
height: 100%;
}
<div class="block-1">Блок 1
</div>
<div class="block-2">Блок 2
</div>
<div class="block-3">
</div>
<div class="footer">
Блок с высотой 100%
</div>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Доброго времени суток, сообщество! Есть вот такой вот фильтр: http://jsfiddlenet/xvs9jL1c/ Но, к сожалению, не совсем устраивает своим функционалом и у меня...
Мне надо сделать таймер обратного отсчета до 31 декабряБолее менее понимаю, каковым должен быть алгоритм:
Необходимо реализовать функцию, через которую можно будет управлять телефонной книгойНужно реулизовать всего 3 команды: ADD(добавляет контакт,...
Не получается авторизоваться на сервере soap, я новичок в этомВ документации к апи написано, что там двойная авторизация