Прежде всего, для вашего html-элемента nav не определен класс nav.Так что в селекторе jQuery вам нужно выбирать по идентификатору (main-nav), как вы определили, или по самому элементу HTML nav.Вы можете сделать это:
if(distanceScrolled>42){
$("nav").addClass("scrolled");
}
else{
$("nav").removeClass("scrolled");
}
или
if(distanceScrolled>42){
$("#main-nav").addClass("scrolled");
}
else{
$("#main-nav").removeClass("scrolled");
}
Но добавьте файл библиотеки jQuery перед вашим пользовательским скриптом.
<script
src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous">
</script>
секунда и самое важноеэто то, что вы добавляете класс (прокручиваемый), имеющий {position: fixed}.Поскольку Id имеет более высокий приоритет, чем Class, поэтому он не позволит классу перезаписать общее свойство CSS, как в этом случае 'position'.Таким образом, вы можете добавить! Важное к свойству селектора классов:
.scrolled{
position:fixed!important;
top: 0;
z-index: 1000;
}
или
написать глубокий выбор CSS, чтобы сделать его приоритет выше Id.Как:
#main-nav.scrolled {
position:fixed;
top: 0;
z-index: 1000;
}
Оба будут работать.