Показать сообщение отдельно
  #2 (permalink)  
Старый 01.09.2019, 15:07
Che Che вне форума
Интересующийся
Отправить личное сообщение для Che Посмотреть профиль Найти все сообщения от Che
 
Регистрация: 28.08.2012
Сообщений: 23

Вроде победил. В первой строчке забыл свойство, в результате чего высота вообще не считалась. + добавил еще проверки наличия классов и их удаления

var PARRALAX_CONTAINER_HEIGHT_AND_BOTTOM = (document.getElementsByClassName("parallax__cont")[0].scrollHeight + 30);
var PAGE_WITHOUT_BOTTOM = (document.body.scrollHeight - PARRALAX_CONTAINER_HEIGHT_AND_BOTTOM);
  var el = document.querySelector('.parallax__back');
  var parentEl = document.querySelector('.parallax__cont');

  window.addEventListener('scroll', function(){
    if(window.pageYOffset > parentEl.offsetTop) {
      if ( el.classList.contains('is-active') != true ) {
        el.classList.add('is-active');
      }
      if(window.pageYOffset > PAGE_WITHOUT_BOTTOM) {
        //console.log(window.pageYOffset);
        //console.log(PAGE_WITHOUT_BOTTOM);
        el.classList.remove('is-active');
        el.classList.add('is-bottom');
      }
    } else {
      if ( el.classList.contains('is-active') == true ) {
        el.classList.remove('is-active');
      }
      if ( el.classList.contains('is-bottom') == true ) {
        el.classList.remove('is-bottom');
      }
    }
    //console.log(PARRALAX_CONTAINER_HEIGHT_AND_BOTTOM);
    //console.log(PAGE_WITHOUT_BOTTOM);
  })
});
Ответить с цитированием