Показать сообщение отдельно
  #11 (permalink)  
Старый 14.10.2014, 21:25
Интересующийся
Отправить личное сообщение для eucalipt Посмотреть профиль Найти все сообщения от eucalipt
 
Регистрация: 27.08.2014
Сообщений: 19

Я правильно понимаю работу предоставленного скрипта? Поправьте меня в случае чего, пожалуйста.
Описывал в комментариях.

var header = document.getElementById('header'); // Получаем id элемента и записываем его в переменную header
    var scrolled = false; // Как Вы писали, это флаг, он помогает снизить нагрузку на DOM страницы
    window.onscroll = function(e) { // Тут мы определяем, прокручивается ли окно (Альтернатива body onscroll=('..')?) и если
    // прокручивается, то запускаем анонимную функцию с параметром 'e'
        var scrollTop = document.body.scrollTop || document.documentElement.scrollTop; // Переменная получает значение прокрутки
        if (scrollTop > 10) { // Если значение прокрутки больше 10
            if (!scrolled) { // И если страница не прокручивается (?)
                header.className += ' compact'; // То к названию класса элемента с id header прикручиваем compact
                scrolled = true; // Тут непонятно (*)
            }
        } else { // Если мы вернулись в начало страницы
            if (scrolled) { // Если страница прокручивается (почему тут прокручивается, а там не прокручивается?)
                header.className = header.className.replace('compact', ''); // Удаляем compact из названия класса
                scrolled = false; // И тут непонятно (*2)
            }
        }
    }; // И, как я понимаю, все анимация происходит при помощи css?
Ответить с цитированием