Это вопрос, который когда-то задавали в другой вариации, и я пытался использовать код, но он не работает для меня. Я хочу, чтобы мой нижний колонтитул анимировался при прокрутке чуть-чуть до достижения дна и закрывался при прокрутке вверх. как на этом сайте - вы увидите, если прокрутите до конца. http://www.pronto.co.il
Это мой код:
Css:
body, html { height: 1000px; }
Html:
<button id="buttonTest">try me</button>
<div id="footer" style="display: none;"><img src="pics/try_me_1.png" ></div>
Я пытаюсь оставить код jquery, но я пока не понимаю, как именно он здесь работает. так что это ссылка на ответ - я взял его и использовал animate () вместо предупреждения. Анимация нижнего колонтитула вверх, когда вы достигаете нижней части экрана, но не анимирует вниз, когда вы прокручиваете обратно вверх
Мне очень поможет. большое спасибо
2 ответа
Вы можете добавить/удалить данный класс
var footer = document.querySelector("#footer");
window.onscroll = function(event) {
((window.innerHeight + window.scrollY) >= document.body.offsetHeight) ? footer.classList.add("visible") : footer.classList.remove("visible")
};
А вот и твой css
#footer{
position: fixed;
bottom: 0;
overflow: hidden;
height: 0;
transition: height .3s ease
}
#footer.visible{
height: 100px;/*what ever you want*/
}
Как следует из комментария, по предоставленной вами ссылке нет анимации, но на основе вопроса о ссылке все просто:
var isShowing = false;
$(window).scroll(function() {
if ($(window).scrollTop() + $(window).height() === $(document).height()) {
$('#footer').slideToggle();
isShowing = true;
} else if (isShowing === true && $(window).scrollTop() + $(window).height() <= $(document).height() * 0.9) {
$('#footer').slideToggle();
isShowing = false;
}
});
body,
html {
height: 1000px;
}
#footer {
height: 150px;
position: fixed;
bottom: 0;
width: 100%;
left: 0;
background:black;
display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button id="buttonTest">try me</button>
<div id="footer"></div>
Похожие вопросы
Связанные вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Имейте в виду, что JavaScript — это НЕ то же самое, что Java! Включите все ярлыки, относящиеся к вашему вопросу; например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [svelte] и т. д.