2017-01-19 3 views
-3
$('#menuToggle, .menu-close').on('click', function(){ 
    $('#menuToggle').toggleClass('active'); 
    $('body').toggleClass('body-push-toleft'); 
    $('#theMenu').toggleClass('menu-open'); 
    $('#menuToggle').find($(".fa")).toggleClass('fa-rotate-180'); 
    $("body").toggleClass("active"); 
}); 

это мой код javascript для меню слайда меню навигации справа. Он работает правильно, но я хочу закрыть это меню, когда он открыт при нажатии или закрытии меню, нажмите в любом месте тело и кнопку переключения?Нажмите, закройте меню, если открыто

+2

Добро пожаловать на ТАК! Пожалуйста, уделите время чтению FAQ, особенно в отношении того, как задавать хорошие вопросы здесь. Хороший способ - подытожить свой вопрос в заголовке. Также имейте в виду, что большинство пользователей любят видеть, что вы пробовали далеко. Поэтому лучше всего включить это. –

ответ

0

Есть много примеров на W3Schools, вы можете использовать любой из них. Но что мне лично понравилось это было:

function openNav() { 
 
    document.getElementById("mySidenav").style.width = "250px"; 
 
    document.getElementById("main").style.marginLeft = "250px"; 
 
    document.body.style.backgroundColor = "rgba(0,0,0,0.4)"; 
 
} 
 

 
function closeNav() { 
 
    document.getElementById("mySidenav").style.width = "0"; 
 
    document.getElementById("main").style.marginLeft= "0"; 
 
    document.body.style.backgroundColor = "white"; 
 
}
body { 
 
    font-family: "Lato", sans-serif; 
 
    transition: background-color .5s; 
 
} 
 

 
.sidenav { 
 
    height: 100%; 
 
    width: 0; 
 
    position: fixed; 
 
    z-index: 1; 
 
    top: 0; 
 
    left: 0; 
 
    background-color: #111; 
 
    overflow-x: hidden; 
 
    transition: 0.5s; 
 
    padding-top: 60px; 
 
} 
 

 
.sidenav a { 
 
    padding: 8px 8px 8px 32px; 
 
    text-decoration: none; 
 
    font-size: 25px; 
 
    color: #818181; 
 
    display: block; 
 
    transition: 0.3s 
 
} 
 

 
.sidenav a:hover, .offcanvas a:focus{ 
 
    color: #f1f1f1; 
 
} 
 

 
.sidenav .closebtn { 
 
    position: absolute; 
 
    top: 0; 
 
    right: 25px; 
 
    font-size: 36px; 
 
    margin-left: 50px; 
 
} 
 

 
#main { 
 
    transition: margin-left .5s; 
 
    padding: 16px; 
 
} 
 

 
@media screen and (max-height: 450px) { 
 
    .sidenav {padding-top: 15px;} 
 
    .sidenav a {font-size: 18px;} 
 
}
<div id="mySidenav" class="sidenav"> 
 
    <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a> 
 
    <a href="#">About</a> 
 
    <a href="#">Services</a> 
 
    <a href="#">Clients</a> 
 
    <a href="#">Contact</a> 
 
</div> 
 

 
<div id="main"> 
 
    <h2>Sidenav Push Example</h2> 
 
    <p>Click on the element below to open the side navigation menu, and push this content to the right. Notice that we add a black see-through background-color to body when the sidenav is opened.</p> 
 
    <span style="font-size:30px;cursor:pointer" onclick="openNav()">&#9776; open</span> 
 
</div>

+0

Спасибо за это, что я вижу в школе W3. Снова спасибо – rajinder

+0

Приветствие :-) –

Смежные вопросы