Отключение событий при скролле страницы


Отключение событий при скролле страницы

Небольшая оптимизация web приложения.

Добавляем в футер кусок JavaScript или подключаем файлик с кодом:

var body = document.body, timer;
window.addEventListener('scroll', function() {
    clearTimeout(timer);
    if(!body.classList.contains('disable-hover')) {
        body.classList.add('disable-hover')
    }
    timer = setTimeout(function(){
        body.classList.remove('disable-hover')
    },500);
}, false);

Добавляем в css описание класса:

.disable-hover {
    pointer-events: none;
}

Теперь скролл будет происходить быстрее и браузер не будет отрабатывать ненужные события.

Это небольшой хак я узнал из доклада Оптимизация фронтенда Олега Мохова.

Написать ответ

 Имя

 Mail

 Сайт

[Имя и Mail обязательны для заполнения. Mail не будет опубликован.]


 9fce13c8-2714-4603-b8e7-33be6c785d58