Привет!
Функция
smothScroll()
в коде ниже, работает постоянно, вероятно из-за того, что соответствует условию, которое ее собственно и запускает.
document.addEventListener('scroll', function(event) {
var zoneCoords = zone.getBoundingClientRect(),
yTop = zoneCoords.top,
yBot = zoneCoords.bottom,
zonePos = zone.offsetParent.offsetTop;
heightZone = zone.clientHeight, // высота блока
centerZone = zone.clientHeight/1.2;
var diffTop = window.innerHeight - yTop,
diffBot = window.innerHeight - yBot;
if (diffTop >= zone.clientHeight/1.2 && diffTop <= zone.clientHeight || diffBot >= 0 && diffBot <= 100) {
smoothScroll();
} else if (window.innerHeight === heightZone) {
// если высота окна равна высоте блока, то отменить функцию
}
function smoothScroll() {
destination = $(zone).offset().top;
$('body, html').animate( { scrollTop: destination }, 500 );
return true;
}
Мне необходимо дописать что-то в условие (см. код).
Если высота окна равна высоте блока, то отменить функцию
На данный момент функция
smoothScroll()
из-за своей работы не дает скролить страницу.
Пример того что я хочу реализовать можно посмотреть
здесь
смотрите вот этот блок