Ich versuche zu erreichen, dass meine Taste reagiert wird. In genauen, auf den ersten Klick wenn Menü öffnet es verdunkelt den gesamten Bildschirm und markieren Sie das Menü, sowie overflow-y:hidden
beginnt zu arbeiten, da mein Ziel ist, um sicherzustellen, wenn Menü öffnet, wird es keine Bildlauf haben. Dort, wenn das Hauptproblem auftritt, findet ein Überlauf versteckt statt und ich kann nicht abschalten, wenn ich erneut auf die Menütaste klicke. Wie erreicht man das?Warum kann meine Taste Überlauf-y nicht deaktivieren: versteckt?
meinem vorherigen jquery:
$("#button").click(function(){
$('.slide').fadeToggle(500);
$('.darklayer').toggleClass('active');
$('body').css({'overflow-y': 'hidden'});
});
hier ist mein neues jquery:
$("#button").click(function(){
var $dark = $('.darklayer');
$('.slide').fadeToggle(500);
($dark).toggleClass('active');
if($dark.is(':active')) {
$('body').css({'overflow-y': 'hidden'});
}
else {
$('body').off('click');
}
}});
Mein HTML:
<div class="darklayer"></div>
<header id="main_menu">
<div id="menu">
<ul class="slide">
<li><a href="#">Поиск строения</a></li>
<li><a href="#">Оплатить ком услуги</a></li>
<li><a href=#>Обратиться за помощью</a></li>
<li><a href=#>Управляющая компания</a></li>
<li><a href="second_page.html">Обратиться в Акимат</a></li>
<li><a href=#>Объявления</a></li>
<li><a href="page.html">Информация о строении</a></li>
<li><a href=#>Обсуждения</a></li>
<li><a href=#>Помощь</a></li>
</ul>
</div>
<section id="main_header">
<div class="left_header">
<a href="index.html"><img src="svg/logo.svg" alt="logo" style="height: 16px; padding-left: 15px;"></a>
<p class="text_ru">ru</p>
</div>
<div class="right_header">
<img class="btn search" src="svg/search.svg" alt="search" style="height: 18px; padding-left: 15px; padding-right: 30px; cursor: pointer; ">
<img class="btn" src="svg/pro.svg" alt="pro" style="height: 18px; padding-left: 15px; padding-right: 30px; cursor: pointer;">
<img id="button" class="btn" src="svg/sandwich.svg" alt="sandwich" style="height: 18px; padding-left: 15px; padding-right: 30px; cursor: pointer;">
</div>
</section>
</header>
Nukezhan, es nicht aussehen wie Sie selbst Sie Code aus Ihrer vorher Frage geändert, http://stackoverflow.com/questions/43996858/how-to-make-overflow-y-hidden-work- on-click-with-jquery –
Entfernen Sie überschüssiges '}' von Ihrem JavaScript-Code. – Alexander