Если сделать так, то:
1. не повесится лишний обработчик который будет работать абсолютно всегда, даже когда не нужен (тобиш на мобилках)
2. нет необходимости выносить в media (класс не будет вешаться на мобилках), хотя можно и там оставить
function init() {
if (window.innerWidth >= 769) {
window.addEventListener('scroll', function(e) {
var header;
var distanceY = window.pageYOffset || document.documentElement.scrollTop,
shrinkOn = 1,
header = document.getElementById("name");
if (distanceY > shrinkOn) {
header.classList.add("red");
} else {
if (header.classList.contains("red")) {
header.classList.remove("red");
}
}
});
}
}
window.onload = init();
минусом является то, что если вы отлаживаете адаптив путем "растягивания" браузера в разные стороны, для того чтобы код сработал при ресайзе из меньшего к большему (когда страница изначально открылась маленькая), нужно обновлять страницу.