Помогите фиксировать блок но так чтобы фиксация была когда скролл дойдет до конца блока
v
Ответ
Не уверен, что правильно понял насчет того, как именно надо фиксировать, но вот мой вариант.
var windowHeight = window.innerHeight|| document.documentElement.clientHeight|| document.body.clientHeight;
var aside = document.querySelector('aside'),
asideHeight = aside.clientHeight || aside.offsetHeight || aside.scrollHeight;
window.onscroll = function() {
if (document.body.scrollTop + windowHeight >= asideHeight) {
aside.classList.add('fixed');
aside.style.top = -(asideHeight-windowHeight) + 'px';
} else {
aside.classList.remove('fixed');
aside.removeAttribute('style');
}
}
body {
margin: 0
}
section {
background: linear-gradient(#ccc, #000);
height: 3000px;
overflow: hidden;
}
aside {
width: 200px;
color: #FFF;
padding: 15px;
background: #000;
}
.fixed {
position: fixed;
}
Комментариев нет:
Отправить комментарий