Проблема 1: при прокрутке навигация исчезает = это здорово. Но как только вы снова прокрутите вверх, он больше не появится.
Это потому, что точка zero
сбрасывается при каждой прокрутке:
zero = $(window).scrollTop();
, поскольку вы хотите это только сверху, нет нужды сбрасывать нулевую точку.
Также существует проблема с вызовом .css
, который при этом использовании принимает только 2 аргумента - поэтому 2-й должен быть "0" или "1" в зависимости от позиции прокрутки, давая:
$(document).ready(function() {
$(window).on('scroll', function() {
$('.nav-visibility').css("opacity", $(window).scrollTop() > 0 ? "0" : "1");
})
})
Проблема 2: навигация навсегда исчезает, когда я один раз парю над навигацией
В этом случае код наведения не только изменяет opacity
, но и visibility
- поэтому прокрутка изменяет непрозрачность обратно, но не видимость, оставляя ее невидимой.
В зависимости от ваших требований, вы можете удалить часть видимости, чтобы и прокрутка, и наведение внесли одинаковые изменения:
$('nav').mouseover(function() {
$('.nav-visibility').css("opacity", "1");
});
$('nav').mouseout(function() {
$('.nav-visibility').css("opacity", "0");
});
Конечно, если вы откроете курсор вверху, он тоже исчезнет, поэтому вы можете добавить эту проверку:
$('nav').mouseout(function() {
if ($(window).scrollTop() > 0) {
$('.nav-visibility').css("opacity", "0");
}
});