Не очень понятно.
Попробую переформулировать.
Вы открываете меню на мобильном разрешении, увеличиваете окно, и меню остается открытым, хотя на декстопе оно уже не требуется.
Так?
Тогда есть решение без javascript.
.menu {
right: -100%;
}
@media(max-width: 768px) {
/* Открывать меню только при ширине, меньшей 768 */
.menu.open {
right: 0;
}
}
Остается небольшой сайд-эффект. Если снова уменьшить окно, меню появится открытым.
С этим часто можно мирится. Но если нет, то тогда придется проводить манипуляции скриптами
const m = matchMedia('(min-width: 768px)');
function watch(e) {
if (e.matches) { // Сработает, когда ширина превысит 768px
document.querySelector('.menu').classList.remove('open');
}
}
m.addListener(watch);
watch(m);