в вашем css измените width
свойство на 100%
и добавьте display
свойство со значением none
и удалите transition
свойство.
тогда, если вы хотите использовать javascript попробуйте этот код:
function fadeIn(fadeTarget) {
var op = 0.01;
fadeTarget.style.opacity = op;
fadeTarget.style.display = 'block';
var fadeEffect = setInterval(function () {
fadeTarget.style.opacity = op;
if (op < 1) {
op += 0.01;
fadeTarget.style.opacity = op;
} else {
clearInterval(fadeEffect);
}
}, 10);
}
function fadeOut(fadeTarget) {
var op = 1;
fadeTarget.style.opacity = op;
var fadeEffect = setInterval(function () {
if (fadeTarget.style.opacity > 0) {
fadeTarget.style.opacity -= 0.01;
} else {
clearInterval(fadeEffect);
fadeTarget.style.display = 'none';
}
}, 10);
}
function openNav() {
fadeIn(document.getElementById("myNav"));
}
/* Close when someone clicks on the "x" symbol inside the overlay */
function closeNav() {
fadeOut(document.getElementById("myNav"));
}
и, если вы хотите использовать jquery, удалите атрибут onload
и добавьте closeButton
и searchButton
id к тегам.
$(document).ready(function(){
$("#closeButton").click(function(){
$("#myNav").fadeOut();
});
$("#searchButton").click(function(){
$("#myNav").fadeIn();
});
});
/* The Overlay (background) */
.overlay {
/* Height & width depends on how you want to reveal the overlay (see JS below) */
height: 100%;
width: 100%;
display:none;
position: fixed; /* Stay in place */
z-index: 999; /* Sit on top */
left: 0;
top: 0;
background-color: rgb(0,0,0); /* Black fallback color */
background-color: rgba(0,0,0, 0.85); /* Black w/opacity */
overflow-x: hidden; /* Disable horizontal scroll */
}
Надеюсь, мой ответ поможет вам.